老代码出现[DBNETLIB][ConnectionWrite (send()).]

华山沦贱 2023-09-03 12:47:08

玩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分钟采集另外一组数据存储数据库领一张表却一直都不会出现类似警告,很头大!

...全文
350 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2023-09-13
  • 打赏
  • 举报
回复

delphi盒子论坛问问看

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧