这么简单,居然出错!用ADO查询和删除ACCESS表中的记录(50分)

  • 主题发起人 主题发起人 bluebob
  • 开始时间 开始时间
B

bluebob

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.ToolButton7Click(Sender: TObject);
var findstr:string;
begin
findstr:=INPUTBOX('查询','请输入关键字','');
Adodataset1.Locate('CONTENT',findstr,[loPartialKey]);
end;

出错信息
EOleException with message '指令不能被打开'
--------------------------------------------------------------
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
adodataset1.Edit;
adodataset1.DeleteRecords(arcurrent); //adodataset1.Delete;一样
end;

出错信息

EOleException with message '行句柄引用了一个已被删除的行或被标识未删除的行’
 
不用findstr直接用条件也出错吗?
删除还用EIDT吗?
 
>Adodataset1.Locate('CONTENT',findstr,[loPartialKey]);
Adodataset1.Locate('CONTENT',findstr,[]);
 
autumn
试过了,不行。
 
findstr要换成varaint类型
 
findstr1:varaint;
...
findstr1:=findstr;
再locate的时候用findstr1;
行不行啊,我可惦记着您的50分呢:)
 
为啥要换?
 
不建议使用locate
自己用sql不能查么
 
换了没有?行的话我再说自己的想法。不然错了。。呵呵
 
接受答案了.
 
后退
顶部