大家帮我看看这段代码,为什么第一次执行时可以成功,提示“此号码不存在”。但接着再输入一个错误的号码,就执行失败了,提示数据库的什么东西。好象是到
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;