ADO读写数据库时好时坏,怀疑是ADOConnection经常掉线
ADO控件为ADOQuery和ADOConnection。
拖了这两个控件后就简单的把ADOQuery1的Connection选择ADOConnection1,其他都是默认值。
对数据库的读写分为手动触发和自动触发,两者最终都是调用相同的一个函数Trigger。自动触发采用Timer控件,一天触发一次。
在FormShow中设定ConnectionString:
ADOConnection1->Close();
ADOConnection1->ConnectionString="......";//填写实际内容,数据库为SQLServer2000
除了在FormShow中写了ADOConnection的相关代码,其他地方都没有。
Trigger函数对ADOQuery1进行操作。
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(...);//实际内容
ADOQuery1->Open()或ExecSQL();
现在的问题是:执行了Trigger,但是Trigger函数中对数据库的操作不稳定,有时候正确的,有时候却没有对数据库进行操作,似乎所有的ADOQuery1->Open();和ADOQuery1->ExecSQL();都没有起到作用。比如启动程序后手动触发20天数据的操作,这20天都成功的,然后过若干小时后采用自动触发却没有对数据进行更新(Trigger还是调用的)
想问一下是否需要ADOConnection1->Open();来启动连接?我以前写的一些程序中没有这条语句,但是也可以。现在没有写,有时候也是可以的。添加了ADOConnection1->Open();后运行出错。或者告诉我如何消除这个臭虫。
谢谢!