delphi用TTable 和Datasource连接数据库做登录窗口,怎么把用户名和密码关联起来

解决方案 »

  1.   

    作为登陆窗,是可以不使用Datasource的(除非你另有特殊用途),一般人也不是使用TTable,而是用TQuery或TADOQuery,原因是比 TTable 更快更灵活。如果仅出于对SQL语句不熟的原因,可以告诉你,其实用于校验登陆者身份和密码的SQL语句是十分简单的 :
      Query1.Close;
      Query1.SQL.Text:='select 1 from 表名 where 帐户字段名 = '
        +QoutedStr(edit1.Text) //假设edit1里输入的是帐户
        +' and 密码字段名 = '
        +QoutedStr(edit2.Text);//假设edit2里输入的是密码
      Query1.Open;
      if Query1.RecordCount>0 then
      begin
        showmessage('系统欢迎您的登陆。');
        //登陆后的处理.....
      end
      else
      begin
        showmessage('请重新输入您的帐号和密码,注意大小写是否正确。');
        //进行重新登陆....
      end;如果你坚持探讨 TTable 在登陆时的用法,可以这么弄:  Table1.Open;
      if Table1.Locate('帐号字段名',edit1.Text,[]) then
      begin
        if Table1.FieldByName(edit2.Text).AsString= edit2.Text then
        begin
          showmessage('系统欢迎您的登陆。');
          //登陆后的处理.....
        end
        else
        begin
          showmessage('请重新输入您的密码,注意大小写是否正确。');
          //进行重新登陆....
        end;
      end
      else
      begin
        showmessage('您输入的帐号不存在,请重新输入。');
      end;
      

  2.   

    用Locateif Table1.Locate('UserID',Edit1.Text,[]) and (Table1.FieldByName('PW').AsString=Edit2.Text) then
    showmessage('驗證成功!');
    else
    showmessage('驗證失敗!');
      

  3.   

    谢谢!delphi中对数据库的操作,是用TTable连接常用还是ADO比较常用
      

  4.   

    TQuery或TADOQuery比较常用
      

  5.   

    生产用的系统基本不考虑Table,自己玩,另当别论