使用者登入框的問題 |
尚未結案
|
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
小弟有些問題想請教各位大大
我想要在登入資料庫前 先做一個id 與 password的登入確認動作
當我id and password確認正確 才可以進一步操作資料庫
程式碼如下:
int LoginNum; void __fastcall TForm1::BitBtn1Click(TObject *Sender) { AnsiString sID,sPassword; sID=LabeledEdit1->Text; sPassword=LabeledEdit2->Text; if (sID.Length()==0 && sPassword.Length()==0) { MessageDlg("請輸入帳號或密碼錯誤!", mtError, TMsgDlgButtons() << mbOK, 0); return; } AnsiString sQuery; sQuery="Select * From 使用者 Where uID='" sID "' And uPasswd='" sPassword "'"; ADOQuery1->Active=false; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sQuery); ADOQuery1->Active=true; if(ADOQuery1->RecordCount!=0) //. { MessageDlg("登入成功!", mtConfirmation, TMsgDlgButtons() << mbOK, 0); Form2->Show(); 我的問題是在這裡如何show form2後 立即把form1關掉呢?? } else { MessageDlg("錯誤:請輸入正確的帳號或密碼!", mtError, TMsgDlgButtons() << mbOK, 0); LoginNum ; if (LoginNum == 3) { ShowMessage("Bye!!"); Form1->Close(); } } ADOQuery1->Close(); }期待各位的回覆.... |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
odyaho 您好: 您可以將 MainForm 的 Visible 屬性先設為 false,這樣子 MainForm 就不會先顯示出來,然後在 OnShow 事件中處理相關動作,例如:
void __fastcall TMainForm::FormShow(TObject *Sender) { LogingForm->ShowModal(); // 叫出 Login 視窗,該視窗關閉後才會執行下列動作 delete LogingForm; // 刪除掉 Login 視窗 LogingForm = NULL; Show(); // 顯示 MainForm }您參考一下。 |
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
odyaho您好: 提供另一種方式供參考!我寫飯店前檯作業時,使用者一開始要Login, 交班也要重新Login,所以我將loginform的處理是放置於MainForm裡面的 LoginUser()函數處理! 一開始 void __fastcall MainForm::FormCreate(TObject *Sender) { ... ... LoginUser(); } void __fastcall MainForm::LogInUser() { bool PassOk=false; // 假設認證不過 Tloginform *loginform; try { loginform->ShowModal(); PassOk=loginform->IsOk; // 傳回loginform的認證 delete loginform; } catch (...) { delete loginform; } if (!PassOk) PostQuitMessage(WM_QUIT); // 關閉程式 } // 重新輸入密碼時用! void __fastcall MainForm::Login1Click(TObject *Sender) { LogInUser(); } 注意我只是於MainForm的FormCreate上處理而已 請參考!Andy Chang
------
Andy Chang |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |