Select返回0行时不能对TADOQuery执行Close()操作?此时该如何处理TADOQuery对象
代码如下:
TADOQuery *query;
int ID=1;
char reg;
......
......
sql="select para_value from ParasTable where Para_Index="+IntToStr(ID);
query->SQL->Add(sql);
query->Open();
if(query->RecordCount<1) reg=0;
else
{
reg=1;
query->First();
value=query->FieldByName("para_value ")->AsInteger;
}
query->Close();//此处当reg=0时抛出异常
query->SQL->Clear();
.......
.......
为什么select没有返回结果时执行query->Close()抛出异常“Project Project1.exe raised exception class EOleException with message 'BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。”
如果select返回有结果(reg=1)则没有问题。但是如果不执行query->Close();query->SQL->Clear();则后续的查询操作无法进行。
刚接触c++builder及其数据库操作,不知如何解决?