我想再整个应用系统启动时先让用户输入用户名和密码,正确的方可进入主程序,
先做了一个登录窗口,上面有用户名和密码的输入edit,在确定按钮中应如何编程(如果用户名和密码都正确的话),请高手指点,先谢谢了!

解决方案 »

  1.   

    假如数据库当中已经存在用户名称成和密码的化
    With ADOQUery1 Do
    Begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT Count(*) AS Total WHERE user=:USer AND Pass=:Pass');
    Parametrs.ParamByName('user').value:=Trim(edit1.text)
    Parametrs.ParamByName('pass').value:=Trim(edit2.text)
    Open;
    if FieldByName('pass').asinteger=1 then
    进入主界面
    else
    密码用户明成错误
    End;
      

  2.   

    这次不好说清楚,就是我们说了,你也不一定明白,
    这样,留个Email,我有个现成的工程,别的没有,至少登录界面有,
    可以说是完成的,登录成功进入主界面,否则不行,
    如果你愿意的话再多给点分我吧,
    呵呵。
      

  3.   

    这是一个我用BCB做的程序,记录在注册表,你看看合适不
    void __fastcall TPswFrm::Button1Click(TObject *Sender)
    {
       AnsiString Psw;
       TRegistry *MyRegistry = new TRegistry;   try
       {//读注册表     MyRegistry->RootKey = HKEY_LOCAL_MACHINE;
         MyRegistry->OpenKey("SOFTWARE",false);
         if(!MyRegistry->KeyExists("FormReg"))
             {
               MyRegistry->CreateKey("FormReg");
               MyRegistry->OpenKey("FormReg",true);
               MyRegistry->WriteString("FormPsw","888888");
             }
             else
             {
               MyRegistry->OpenKey("FormReg",true);
         
             }
       }
       __finally
       {
          Psw = MyRegistry->ReadString("FormPsw");
          MyRegistry->CloseKey();
          delete MyRegistry;
       }   if(PswEdt->Text == Psw)
          MainFrm->Show();//显示主窗体
       else
       Application->MessageBox("密码错误!","请输入正确密码!",0);
      

  4.   

    var
    StrUser,StrPsd:string;
    begin
      StrUser:=edit1.Text;
      StrPsd:=edit2.Text;
      ADODataSet1.Close;
      ADODataSet1.CommandText:='select * from Tuser where UserName ='+
                              quotedstr(StrUser) +' and Pwd='+quotedstr(StrPsd);
      ADODataSet1.Open;
      if ADODataSet1.RecordCount<>0 then
      begin
        showmessage('a');//
      end;
    end;
      

  5.   

    var
    StrUser,StrPsd:string;
    begin
      StrUser:=edit1.Text;
      StrPsd:=edit2.Text;
      ADODataSet1.Close;
      ADODataSet1.CommandText:='select * from Tuser where UserName ='+
                              quotedstr(StrUser) +' and Pwd='+quotedstr(StrPsd);
      ADODataSet1.Open;
      if ADODataSet1.RecordCount<>0 then
      begin
        showmessage('a');//你需要的事件
      end;
    end;
      

  6.   

    if itimes<=3 then
           begin
            if cbname.Text='' then
          showmessage('请选择用户名!');
          if cbname.text<>'' then
          inc(itimes);
        if itimes>4 then
        begin
        showmessage('输入次数过多!');
        close;
        end;
         begin
          adoquery1.Close;
        adoquery1.sql.text:='select login_id,login_key,quanxian from login where login_name='''+cbname.Text+'''';
        adoquery1.open;
        loginid:=adoquery1.FieldByName('login_id').AsString;
        loginkey:=adoquery1.fieldbyname('login_key').AsString;
        login_quanxian:=adoquery1.fieldbyname('quanxian').AsString;
          if  edit2.text<>loginkey then
            begin
             showmessage('密码错误!');
              itimes:=itimes+1;
              exit;
             end
           else
            begin
                 application.CreateForm(Tmain1, main1);
                 login.Hide;
             end
         end;
         end;