// LoginDlg.cpp : implementation file // #include "stdafx.h" #include "test.h" #include "LoginDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CLoginDlg dialog CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/) : CDialog(CLoginDlg::IDD, pParent) { //{{AFX_DATA_INIT(CLoginDlg) m_name = _T(""); m_password = _T(""); //}}AFX_DATA_INIT } void CLoginDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLoginDlg) DDX_Text(pDX, IDC_LOGIN_NAME, m_name); DDX_Text(pDX, IDC_LOGIN_PASSWORD, m_password); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CLoginDlg, CDialog) //{{AFX_MSG_MAP(CLoginDlg) ON_BN_CLICKED(IDC_LOGIN, OnLogin) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CLoginDlg message handlers void CLoginDlg::OnLogin() { // TODO: Add your control notification handler code here UpdateData(true); CoInitialize(NULL); //初始化当前线程的COM库,标识并发模型在为一个单线程的部分 _ConnectionPtr pconnect(__uuidof(Connection)); _RecordsetPtr record(__uuidof(Recordset)); _CommandPtr comd(__uuidof(Command)); pconnect->ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;User ID=Administrator;Data Source=student;Initial Catalog=Library"; pconnect->Open("","","",NULL); comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect)); //标准SQL语句 CString cmd="select * from READER where NAME='"; cmd+=m_name; cmd+="' AND PASSWORD='"; cmd+=m_password; cmd+="'"; comd->CommandText=_bstr_t(cmd); //得到SQL语句 record=comd->Execute(NULL,NULL,adCmdText); //执行SQL语句 if(!record->end) //存在记录 { m_bLogin=true; AfxMessageBox("登录成功"); //弹出登录成功消息框 m_which=(char*)(_bstr_t)record->GetCollect("WHICH"); extern CString name; name = m_name; } else //不存在记录 { AfxMessageBox("登录错误"); //弹出消息框 m_bLogin=false; //记录登录状态 m_name=""; m_password=""; UpdateData(false); } record->Close(); pconnect->Close(); comd.Release(); record.Release(); pconnect.Release(); CoUninitialize(); if(m_bLogin==true) CDialog::OnOK(); //退出"登录对话框" }