procedure Tloginfm.Button1Click(Sender: TObject);
var
user:string;
pwd:string;
begin
try
dataModule1.ADOQuery1.Close;
dataModule1.ADOQuery1.SQL.Clear;
user:=Trim(edit1.Text);
pwd:=Trim(edit2.Text);
dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser=user and adminpwd=pwd');
dataModule1.ADOQuery1.ExecSQL;
showmessage('登录成功...');
except
begin
showmessage('用户名或密码错误...');
end;
end;
end;

解决方案 »

  1.   

    'select * from admin where adminuser='''+user+'''and adminpwd='''+pwd+''''
    这样改一下,看看行不行。。
      

  2.   

    把User以及Pwd用Quotedstr函数括起来就行了。
      

  3.   

    'select * from admin where adminuser='+Quotedstr(user)+ 'and adminpwd='+Quotedstr(pwd)这样绝对可以了。
      

  4.   

    'select * from admin where adminuser='''+user+'''and adminpwd='''+pwd+''''
      

  5.   

    s:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear
    s:='select * from admin where (adminuser=''%s'') and (adminpwd=''%s'')';
    s:=format(s,[Trim(edit1.Text),Trim(edit2.Text);]
    dataModule1.ADOQuery1.SQL.Add(s);
    dataModule1.ADOQuery1.open
    showmessage('登录成功...');
    except
    begin
    showmessage('用户名或密码错误...');
    end;
    end;
      

  6.   


    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='+Quotedstr(user)+ 'and adminpwd='+Quotedstr(pwd));
    dataModule1.ADOQuery1.Open;
      

  7.   

    用jxc163(一水寒)的方法可以运行。但是管输入什么字符,他都提示成功登录了
      

  8.   

    'select * from admin where adminuser='''+user+'''and adminpwd='''+pwd+''''
      

  9.   

    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser=:user and adminpwd=:pwd');
    dataModule1.ADOQuery1.Parameters.ParamByName('user ').value := user ;
    dataModule1.ADOQuery1.Parameters.ParamByName('pwd').value := pwd;
    dataModule1.ADOQuery1.ExecSQL;
    if not dataModule1.ADOQuery1.IsEmpty then //这样才行
    showmessage('登录成功...');
    except
    begin
    showmessage('用户名或密码错误...');
    end;
    end;
      

  10.   

    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser=:user and adminpwd=:pwd');
    dataModule1.ADOQuery1.Parameters.ParamByName('user ').value := user ;
    dataModule1.ADOQuery1.Parameters.ParamByName('pwd').value := pwd;
    dataModule1.ADOQuery1.ExecSQL;
    if not dataModule1.ADOQuery1.IsEmpty then //这样才行
      showmessage('登录成功...')
    else
      showmessage('用户名或密码错误...');
    except
    begin
    /////////showmessage('用户名或密码错误...');
    end;
    end;
      

  11.   

    在project里写代码,
    Application.CreateForm(TFrmmain, Frmmain);
    Frmmain.show;
    Application.createForm(TFrmdenglu,frmdenglu);
    frmdenglu.ShowModal;
    Application.Run;
      

  12.   

    如果你的用户是字符,而密码是数字,则你的程序应改为如下程序(并且你的EXCEPT后的BEGIN应删除):
    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='''+user+''' and adminpwd='+pwd);
    dataModule1.ADOQuery1.ExecSQL;
    showmessage('登录成功...');
    except
    showmessage('用户名或密码错误...');
    end;
    end;
    如果你的用户是数字,而密码也是数字,则你的程序应改为如下程序(并且你的EXCEPT后的BEGIN应删除):
    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='+user+' and adminpwd='+pwd);
    dataModule1.ADOQuery1.ExecSQL;
    showmessage('登录成功...');
    except
    showmessage('用户名或密码错误...');
    end;
    end;
    如果你的用户是字符,而密码也是字符,则你的程序应改为如下程序(并且你的EXCEPT后的BEGIN应删除):
    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='''+user+''' and adminpwd='''+pwd+'''');
    dataModule1.ADOQuery1.ExecSQL;
    showmessage('登录成功...');
    except
    showmessage('用户名或密码错误...');
    end;
    end;
      

  13.   

    你的问题主要有两:
    1、对字符串的用法不清楚,应有单引号;
    2、模态和非模态只要用 Show 或 ShowModal 区分就行了!
      

  14.   

    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='''+user+''' and adminpwd='''+pwd+'''');
    dataModule1.ADOQuery1.Open;
    if dataModule1.ADOQuery1.RecordCount<>0 then
      showmessage('登录成功...')
    else
      showmessage('用户名或密码错误...');
    end;
    end;
      

  15.   

    procedure Tloginfm.Button1Click(Sender: TObject);
    var
    user:string;
    pwd:string;
    begin
    try
    dataModule1.ADOQuery1.Close;
    dataModule1.ADOQuery1.SQL.Clear;
    user:=Trim(edit1.Text);
    pwd:=Trim(edit2.Text);
    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser=''' + user 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    如果是Access,要改的,老大,把admin改成 [admin]
    + '''and adminpwd = ''' + pwd'''');
    dataModule1.ADOQuery1.ExecSQL;
    showmessage('登录成功...');
    except
    begin
    showmessage('用户名或密码错误...');
    end;
    end;
    end;
      

  16.   

    dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser=user and adminpwd=pwd');改为:dataModule1.ADOQuery1.SQL.Add('select * from admin where adminuser='''+user+''' and adminpwd='''+pwd+'''');