为什么我在进行密码登陆的时候,输入正确密码会显示表中没有这个字段

解决方案 »

  1.   

    这是我的代码
    unit login;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons, DsFancyButton,Registry;type
      Tlogin1 = class(TForm)
        Image1: TImage;
        Edit2: TEdit;
        DsFancyButton1: TDsFancyButton;
        DsFancyButton2: TDsFancyButton;
        Image3: TImage;
        edit1: TComboBox;
        procedure DsFancyButton2Click(Sender: TObject);
        procedure DsFancyButton1Click(Sender: TObject);
        procedure FormActivate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      login1: Tlogin1;implementation
    uses index, DM;{$R *.dfm}procedure Tlogin1.DsFancyButton2Click(Sender: TObject);
    begin
    login1.close;
    end;procedure Tlogin1.DsFancyButton1Click(Sender: TObject);
    var
      Reg:TRegistry;
    begin
      with DM1 do
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQUery1.SQL.Add('select * from users where username='''+Edit1.Text+'''');
        ADOQuery1.Open;
         if edit1.Text=''   then
         begin
         showmessage('请输入用户名');
         Edit2.Text:='';
         Edit1.SetFocus;
         Exit;
         end
         else
        if Edit2.Text<>ADOQuery1.FieldByName('Password').AsString then
        begin
          showmessage('密码不正确,请重新输入');
          Edit2.Text:='';
          Edit2.SetFocus;
          Exit;
        end
        else
        begin
          Reg:=TRegistry.Create;
          Reg.RootKey:=HKEY_CURRENT_USER;
          if Reg.OpenKey('\Software\shijuan',true) then
          begin
            Reg.WriteString('NowUser',Edit1.Text);
          end;
          Reg.CloseKey;
          Reg.Free;
           main.showmodal;
         end;
         close;
        end;
      end;procedure Tlogin1.FormActivate(Sender: TObject);
    begin
      with DM1 do
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select userName from Users');
        ADOQuery1.Open;
        ADOQuery1.First;    Edit1.Items.Clear;
        while not ADOQuery1.Eof do
        begin
          Edit1.Items.Add(ADOQuery1.FieldValues['UserName']);
          ADOQuery1.Next;
        end;
      end;
    end;end.
      

  2.   

    ADOQUery1.SQL.Add('select * from users where username='''+Edit1.Text+'''');
    这句话好像有问题吧,看看引号的写法,好像 有问题,你可以把
    showmessage(adoquery1.sql.text).然后看看sql语句是否正确。