13,871
社区成员




玩BCB有20年了,读写数据库都用得很顺畅,代码也都是久经考验的。
最近一个小程序使用TCPClient每15分钟读取数据(解析成几个double)后存到SQL2008数据库中,运行后不确定时候会出现 [DBNETLIB][ConnectionWrite (send()).],跟踪代码主要是在TADOConnection连接时,而且一旦报错越过,下一次程序后续就再无法读写数据库了。必须重启才行,而且不知程序什么时候又会出现类似问题。
{
TADOConnection *AD = new TADOConnection(NULL);
AD->Connected = false;
AD->ConnectionString = Connstring;
AD->LoginPrompt = false;
AD->KeepConnection = true;
TADOTable *AT = NULL;
try
{
AD->Connected = true;//此处弹出 [DBNETLIB][ConnectionWrite (send()).]
AT = new TADOTable(NULL);
AT->TableName = MyTable;
AT->Connection = AD;
AT->Open();
AT->Append();
for(int i = 0;; i < AT->Fields->Count - 2; i++)
{
if()
AT->Fields->Fields[i + 2]->AsFloat = fData[i];
}
AT->Post();
AT->Close();
}
catch(Exception &e)
{
LOG(e.Message.c_str());
AT->Connection->Close();
}
catch(...)
{
AT->Connection->Close();
}
if(AT != NULL)
delete AT;
if(AD != NULL)
delete AD;
AT = NULL;
AD = NULL;
}
本台电脑同时运行另一个程序也是周期性15分钟采集另外一组数据存储数据库领一张表却一直都不会出现类似警告,很头大!
delphi盒子论坛问问看