大家帮我看看这段代码,为什么第一次执行时可以成功,提示“此号码不存在”。但接着再输入一个错误的号码,就执行失败了,提示数据库的什么东西。好象是到
connection:=Tdmmain.ADOConn1;
这一步。这段代码有什么错误吗?请指教!procedure TTfrmaddnew.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
result:=0;
try
with adoquery1 do
begin
connection:=Tdmmain.ADOConn1;
close;
sql.Clear;
sql.Add('select * from cardinfo');
sql.Add('where cardnum=:cardnum and used=:used');
parameters.ParamValues['cardnum']:=edit1.Text;
parameters.ParamValues['used']:='否';
open;
//没找到记录
if recordcount<>1 then
begin
result:=0;
showmessage('没有此号牌编码,请重新输入');
edit1.Text:='';
end
else
begin
button1.Enabled:=true;
end;
end;
finally
adoquery1.Free;
end;
end;
connection:=Tdmmain.ADOConn1;
这一步。这段代码有什么错误吗?请指教!procedure TTfrmaddnew.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
result:=0;
try
with adoquery1 do
begin
connection:=Tdmmain.ADOConn1;
close;
sql.Clear;
sql.Add('select * from cardinfo');
sql.Add('where cardnum=:cardnum and used=:used');
parameters.ParamValues['cardnum']:=edit1.Text;
parameters.ParamValues['used']:='否';
open;
//没找到记录
if recordcount<>1 then
begin
result:=0;
showmessage('没有此号牌编码,请重新输入');
edit1.Text:='';
end
else
begin
button1.Enabled:=true;
end;
end;
finally
adoquery1.Free;
end;
end;
改成
adoQuery1.Close;