mfc登入介面與資料庫連線
實現登入介面與資料庫進行連線,根據使用者名稱,密碼登陸者判斷是否為資料庫中人員
UpdateData(TRUE);
_ConnectionPtr m_pConnection;
_RecordsetPtr pRecordset;
::CoInitialize(NULL);
try{
m_pConnection.CreateInstance(__uuidof(Connection));
_bstr_t StrConn = "Provider=";//填寫伺服器連線資訊
m_pConnection->Open(StrConn, "", "", adModeUnknown);
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset->Open("select * from user_pass", m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adModeUnknown);//選擇資料庫中user_pass表
pRecordset->MoveFirst();
CString user = m_name, pass = m_password;//控制元件編輯框的變數名
CString id,pwd;
if(m_name.IsEmpty() || m_password.IsEmpty()){
AfxMessageBox("使用者名稱或密碼不能為空!\n");
m_name.Empty(); //清空介面上賬號的值
m_password.Empty(); //清空介面上密碼的值
UpdateData(FALSE);
return;
}
while(!pRecordset->adoEOF) //實現基本表中記錄的遍歷
{
id = pRecordset->GetCollect("id").bstrVal;
pwd = pRecordset->GetCollect("password").bstrVal;
autho= pRecordset->GetCollect("authority").bstrVal; //autho為全域性變數,用來記錄登入者的許可權
if( id == user && pwd == pass)//id與pwd均為資料庫中的值,他們分別於編輯框中輸入的值進行比較
{
admin=id; //admin是全域性變數,在這裡用來儲存登入者的賬號
//一旦登入成功,實現跳轉頁面
CMyproject13Dlg dlg;
dlg.DoModal();
return;
}
pRecordset->MoveNext();//指向下一條記錄
}
}
catch (_com_error e)
{
::CoUninitialize();
AfxMessageBox(e.ErrorMessage());
return;
}