https://blog.csdn.net/u014387696/article/details/73008522
实现登录界面与数据库进行连接,根据用户名,密码登陆者判断是否为数据库中人员
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;
}