注册 登录
编程论坛 Delphi论坛

删除前的判断。

liy116 发布于 2013-03-28 14:38, 658 次点击
程序代码:
procedure TForm1.Button8Click(Sender: TObject);
var
SQLL:string;
begin
    if  DBGridEh2.DataSource.DataSet=nil then
    begin
     showmessage('没有可删除数据!');
    end
     else
    begin
    SQLL:='delete from Checke where Dormitory='''+DBGridEh2.Columns.Grid.Fields[0].Value+'''';

      if application.MessageBox('是否要删除此信息!','提示',mb_yesno)=idyes then
         begin
           with ADOQuery1 do
            begin
             Close;
             SQL.Clear;
             SQL.Add('select * from Dormitory where Dormitory= '''+DBGridEh2.Columns.Grid.Fields[0].Value+'''');
             Open;
            end;
             if ADOQuery1.RecordCount>0 then
              begin
                showmessage('操作失败!');
                exit;
              end
              else
              begin
                Form1.shuaixi(DBGridEh2,DBGridEh1,DBGridEh3,DBGridEh4);
              end;
         end;
    end;
end;
运行到SQL.Add();这里就报错了。不知道什么原因。
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
3 回复
#2
liy1162013-03-28 14:54
有人没。知道的就帮忙回答下啊。。
#3
mayanzs2013-03-31 11:35
1、ADOQuery1的连接设置等是否正确?
2、SQLL设置了但没用,即delete未执行?
3、delete from Checke... 但 检测时为 select * from Dormitory,问是否对同一表操作?
4、DBGridEh2.DataSource.DataSet指向的哪个数据集,不会就是ADOQuery1吧?
#4
zhangcui19852013-04-01 15:20
看起来是内存的问题
1