超难解决的逻辑错误问题? 急急急 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061222173752156.html
我的程序面板上放有:DBGrid,AdoQuery等,还有“下一条记录”,“上一条记录”,“删除当前记录”等按扭,程序启动时DBGrid为空,此时点击上面任何一按扭,程序报错退出。
以“删除”按纽为例,我的程序如下:
procedure TForm1.Button5Click(Sender: TObject);
begin
adoquery1.open;
if adoquery1.RecordCount=0 then
MessageBox(0,'SetCommMask Error !','Notice',MB_OK)
else
if Application.MessageBox('是否删除当前记录?','提示',mb_yesno)=id_yes then
ADOQuery1.Delete;
end;
为了执行是否adoquery1.RecordCount=0,必须adoquery1.open,但是当 adoquery1.RecordCount=0时,Adoquery1.SQL.Text:=''此时就不能和数据库想连,当然就不能去计算Recordcount,想了一天了,脑袋都大了,哪位大哥帮帮我啊,感激涕零。
如果问题没搞清,QQ:110546987在线等到,bearzmc@163.com.谢谢
没看明白说得是什么?
procedure TForm1.Button5Click(Sender: TObject);
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.add('select * from table where .....');
adoquery1.open;
if adoquery1.RecordCount=0 then
MessageBox(0,'SetCommMask Error !','Notice',MB_OK)
else
if Application.MessageBox('是否删除当前记录?','提示',mb_yesno)=id_yes then
begin
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('delete table where ....');
ADOQuery1.execsql;
end;
end;