回 帖 发 新 帖 刷新版面

主题:如何解决该错误啊???

执行下面代码时 
 with ADOQtemp do
  begin
    close;
    SQL.Clear;
    SQL.Add('select * from note_info ');
    SQL.Add('where note_info.id=:'+inttostr(i));
    active:=true;
    delete;
  end;
引入以下错误:
"ADOQtemp canot perform this operartion on this empty daset"
 
该如何解决呢?

回复列表 (共2个回复)

沙发

可能数据表中是空数据,
可能是ADOQtemp无指定数据表名,
试下这个:
procedure TForm1.Button3Click(Sender: TObject);
begin
 if Application.MessageBox('确实要删除全部记录?','提示',mb_YesNo)=ID_Yes  then
  begin
  with ADOQuery1 do
  begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select * FROM 表名');
  Adoquery1.Open;
  Adoquery1.Delete;
  end;
  end;
end;

板凳


谢谢大家的帮忙,已经解决了,知道错在哪里了,多加了个冒号,=:该成=就可以, 失误阿。 再进行isEmpty判断一下就可以。

我来回复

您尚未登录,请登录后再回复。点此登录或注册