首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

数据库与线程有关问题

2012-03-09 
数据库与线程问题我首先在主线程中把数据库已经打开。if(Form1-ADOConnection1-Connected!true) Form1-

数据库与线程问题
我首先在主线程中把数据库已经打开。if(Form1->ADOConnection1->Connected!=true) Form1->ADOConnection1->Open();然后在线程中定义TADOQuery *sql1,如下:
class Ttransmit : public TThread
{
private:
  HANDLE m_hwnd;
  TADOQuery *sql1;
protected:
  void __fastcall Execute();
public:
  __fastcall Ttransmit(bool CreateSuspended);
  void __fastcall Init(int msock,HANDLE hwnd,AnsiString CADD);
};
最后在线程中做sql1->Connection=Form1->ADOConnection1;结果这一步一直执行不结束,请问这是怎么回事,能这样使用吗?是不是非要在每个线程中把数据库单独打开ADOConnection1->Open()

请高手帮忙,在线很急,谢谢!

[解决办法]
在进入线程函数之前, 先设置好sqll 的连接, 然后在Open
[解决办法]
TADOQuery *ADOQ=new TADOQuery(NULL); 
ADOQ->Connection=Form1->ADOConnection1;

热点排行