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

c++ 数据库自动重连解决方案

2013-01-04 
c++ 数据库自动重连自动重连代码在一个1秒钟的时间控件里面执行,问题是只要网络连接断开,软件就会卡死,不

c++ 数据库自动重连
自动重连代码在一个1秒钟的时间控件里面执行,问题是只要网络连接断开,软件就会卡死,不能执行任何操作。一直到重新连接到数据库软件才可以继续操作。
void __fastcall TfrmMain::tmr1Timer(TObject *Sender)
{
       bool bLian=False;
       try
        {
            qry1->Close();
            qry1->Open();
            bLian=True;
        }
        catch (Exception &exception)
        {
           dm->aConn->Close();
           bLian=False;
           Sleep(500);
        }
        if (!bLian)
        {
          try
        {
          dm->aConn->Open();
          dm->qryCreateTemp->ExecSQL();//创建临时表,代码在控件里面。
          bLian=True;
        }
        catch (Exception &exception)
        {

        }
        }
}
[解决办法]
1 把这段代码放到一个线程里执行。
2 用异步方式执行连接。

热点排行