var
  sSql:String;
  Number:integer;
begin
  sSql:='select count(*) into :Number from Employees'+
    ' where CardNo='''+EditUser.Text+'''';  DM1.adsLogin.Close;
  DM1.adsLogin.CommandText:=sSql;
  DM1.adsLogin.Open;  if(Number=0)then
  begin
    ShowMessage('用户 '+EditUser.Text+' 不存在!!');
  end;
end;运行出错为 不正常的定义参数对象,提供了不一致或不完整信息

解决方案 »

  1.   

    delphi不支持这样使用,你可以定义一个ADOQuery,然后
    =============================================================
    var
      sSql:String;
      Number:integer;
    begin
      sSql:='select * from Employees'+
        ' where CardNo='+''''+EditUser.Text+'''';  ADOquery1.sql.clear;
      ADOquery1.sql.add(sSql);
      ADOquery1.Open;  if(ADOQuery1.recordcount=0)then
      begin
        ShowMessage('用户 '+EditUser.Text+' 不存在!!');
      end;
    end;
      

  2.   

    谢谢,楼上的方法我会,这个不是标准的sql么,PB里一直这么写习惯了,哪里能下到标准的sql语法,想学习一下
      

  3.   

    我也觉得用recordcount=o好看一点。
    ~~~~~~~~~~~~~~~~~
    好象有位前辈整理了一本电子书,书名好象是《我学SQL的心得》
    讲的是他在大富翁里混的经验。。建议看看。。