数据库db中有一张表user_info(二个字段user_name,user_password),我在做一个系统的登录界面,要实现根据用户名进行密码验证,不知如何实现?最好有源码或实例.

解决方案 »

  1.   

    query1.close;
    query1.sql.clear;
    sqlstr := 'select count(*) from user_info where unser_name = '''+edit1.text+''' and user_password = '''+edit2.text
    query1.sql.add(sqlstr);
    query1.open;
    if query1.field[0].asinteger <> 1 then
    showmessage(invalidate user)
    else
    ....
      

  2.   

    请问:在tquery中是否可以将一个检索出的user_password保存在变量中呢?如果能如何保存呀?我是新手,谢了。
      

  3.   

    aa:=ADOquery.fieldbyname('user_password').asstring;
      

  4.   

    假设数据集名为 adoquery1
    adoquery1的sqlSELECT u.user_name, u.user_password
      FROM user_info u
      WHERE user_name = :NAME
        AND user_password = :PASSWORD程序中,(假设输入用户名的编辑框名为edtUserID,输入密码的编辑框名为edtPass)  if length(trim(edtUserID.Text)) <> 0 then
      begin
        adoquery1.Close;
        adoquery1.Parameters.Items[0].Value := edtUserID.Text; //Parameters 1:UserID
        adoquery1.Parameters.Items[1].Value := edtPass.Text;   //Parameters 2:Pass    try
          adoquery1.Open;
        except
          on E:Exception do // Open table Error
            ShowMessage(E.Message);
        end;    adoquery1.Last;
        if adoquery1.RecordCount <= 0 then  // UserID or Password is Error
        begin
          ShowMessage('UserID or Password is Error!');
          exit;
        end;
      end
      else
      begin
        ShowMessage('Please input UserID and Password!');
        exit;
      end;
      

  5.   

    var
      spass: string;
    ...
      spass := adoquery1.fieldbyname('user_password').asstring;