在用户表中找到其中的一个用户名后
想对其的用户密码和用户类型与EDIT1和EDIT2中输入的进行比较该怎么办

解决方案 »

  1.   

    With Query1 do 
    begin
      SQL.Clear;
      SQL.ADD('select * from user where Name=:Name and Leval=:Leval  Password=:passowrd');
      ParamByName('Name').Value:=edit1.text;
      ParamByName('Leval').Value:=edit2.text;
      ParamByName('password').Value:=edit3.text;
      Open;
    end;
      if Query1.RecordCount<>0 then
      begin 
        do something;
      end;
      

  2.   

    如果用户名唯一的话
    var
    s,b1,b2:string;
    begin
      s:='select 密码字段名,类型字段名 from 表 where 用户名';
      adoquery1.sql.text:=s;
      adoquery1.open;
      if not adoquery1.isempty then
      begin
        //b1,b2分别为用户对应的密码和类型
        b1:=AdoQuery1.FieldValues['密码字段名'];
        b2:=AdoQuery1.FieldValues['类型字段名'];
      end;
      然后edit1,edit2和b1,b2比较
      注意b1,b2的值都是字符串类型
    end;
      

  3.   

    With adoQuery1 do 
    begin
      close;
      SQL.Clear;
      SQL.ADD('select * from user where Name=:Name and  Leval=:Level 
                      and Password=:passowrd');
      parameters.ParamByName('Name').Value:=edit1.text;
      parameters.ParamByName('Leval').Value:=edit2.text;
      parameters.ParamByName('password').Value:=edit3.text;
      Open;
      if recordcount = 1 then 
      begin  end;
    end;