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

c++ 数据库自动重连解决办法

2012-08-31 
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 用异步方式执行连接。

热点排行