我又发现一个BUG!!!!!!!!!!!!!!!!!!!!!!
fi9 2002-01-28 07:22:44 我又发现一个BUG!!!!!!!!!!!!!!!!!!!!!!
我在一个win98系统上安装了BCB5+VC6(EB)+MSDN,可是我运行以前用BCB5开发的程序就会有个错误出来,我经查是这样的:
Execption
Error's ClassName is EOleException
Error's Message is BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
在Win2k系统上(win2k + BCB5)也发现有这个问题。
我同事以前也在win98下发现过这样的问题,没有装BCB和VC的情况下!!!
最后我才知道是ADO的Close()问题所在,但是我还是没有知道它的根源所在???和解决方法!!!
不知道大家有没有发现过这样的事情?不过大家可以试下:
开一个工程,加个TDataSource,TDBGrid,TADOQuery
然后,在Form1->Create()中添加以下代码:
DataSource1->DataSet = ADOQuery1;
DBGrid1->DataSource = DataSource1;
ADOQuery1->ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=pwd;Initial Catalog=StarsoSYS;Data Source=server";//这以链接SQL Server为例,你也可以链接Access等
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from table1 where mm='00'");//这里你只要做个查询得出的记录数为零(ADOQuery1->RecordCount==0)
ADOQuery1->Open();
ADOQuery1->Close();
大家测一下是否也有此种情况!!!特别是w2k下的!!!