兩種登錄界面驗證寫法


效果:如果登陸正確跳轉到主界面,如果登陸不進去關閉或者重新登陸。

第1種思路:同時驗證賬號和密碼是否對再判斷,只判斷一種情況即可;即都不對的時候提示;

procedure TFLogin.btn1Click(Sender: TObject);   //確認按鈕
begin
 with frmDataPool.qry用戶賬號表 do
 begin
   Close;
   SQL.Text:='select * from 用戶賬號表 where admid = ' + QuotedStr(edtAdmid.Text) + ' AND admps = ' + QuotedStr(edtAdmps.Text);
   Open;
 end;
 if frmDataPool.qry用戶賬號表.IsEmpty then  //如果賬號密碼查不到,說明賬號不存在
 begin
   ShowMessage('賬號不存在');
   Exit;
 end;
  Self.Close;
end;

procedure TFLogin.btn2Click(Sender: TObject);
begin
if MessageDlg('確定退出嗎,退出后程序將關閉', mtConfirmation , [mbYes,mbNo],0)=mrYes then
begin
FLogin.ModalResult:= mrCancel; //對話框mrcancel返回
form3.Close;
end
else
FLogin.ModalResult:=0;
end;

第2種方法:分別判斷賬號是否存在,密碼是否錯誤

procedure TFLogin.btn1Click(Sender: TObject);
begin
with frmDataPool.qry用戶賬號表 do
begin
  Close;
  SQL.Text:='select * from 用戶賬號表 where admid = :admid ';
  Parameters.ParamByName('admid').Value:=edtAdmid.Text;    //為admin參數賦值;
  Open;
end;
  if frmDataPool.qry用戶賬號表['admps']=null then  //如果賬號查找不到,說明賬號錯
  begin
    ShowMessage('賬號不存在');
    Exit;
  end;
  if frmDataPool.qry用戶賬號表['admps'] <> edtadmps.Text then
  begin
    ShowMessage('密碼錯');
    exit;
  end;
  FLogin.ModalResult:=mrOk;//對話框mrok返回

end;


procedure TFLogin.btn2Click(Sender: TObject);
begin
 if MessageDlg('確定要退出?',mtConfirmation,[mbYes,mbNo],0)=mryes then
 begin
 FLogin.ModalResult:=mrCancel ;
 Form3.Close;
 end
else
 FLogin.ModalResult:=0;
end;

附注:

在主窗口的onactive事件中添加:

procedure TForm3.FormActivate(Sender: TObject);
begin
 if FLogin.showmodal=mrok then
  form3.show;
end;

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM