delphi5下的程序怎么不能用了?急!(100分)

  • 主题发起人 主题发起人 锲而不舍
  • 开始时间 开始时间

锲而不舍

Unregistered / Unconfirmed
GUEST, unregistred user!
以前delphi5下的程序,怎么放到现在的机器上就有问题了。连最简单的数据库查询都有了问题,比如:
procedure TForm1.Button1Click(Sender: TObject);
var
sql:string;
mainpath:string;
begin
mainpath:=extractfilepath(application.exename);
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+mainpath+'db1.mdb;Persist Security Info=False';
ADOConnection1.Connected:=true;
sql:='select * from mobile where aa='+'''11111''';
try
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Active:=true;
if ADOQuery1.IsEmpty then
begin
showmessage('没有记录');
end else
begin
showmessage('有记录');
end;
ADOQuery1.Active:=false;
except
on e:exception do
begin
showmessage(e.Message);
end;
end;
end;
当查询记录为空时,程序执行到ADOQuery1.Active:=false;行就会报错---“BoF或Eof中有一个是真,或者当前的记录已被删除,所需的操作要求一个当前的记录”,再次执行程序,要么退出,要么报内存地址错误,各位大虾,这是什么原因啊?
 
delphi5的ado补丁没有打。
 
我以前也没有打过补丁啊
 
把ADOQuery1.Active := False改成ADOQuery1.Close试试看
 
不行,一样的
 
后退
顶部