📄 dialog_login.cpp
字号:
//
/****************************************/
/* SchoolManageSystem */
/*设计者:全佳营 */
/*时间:2004.5.9-2004-5.18 */
/*Email:ghostman@tzc.edu.cn */
/****************************************/
// Dialog_Login.cpp : 实现文件
//
#include "stdafx.h"
#include "SchoolManageSys_2.h"
#include "Dialog_Login.h"
#include ".\dialog_login.h"
#include "LoginDatabase.h"
#include "SchoolManageSys_2Dlg.h"
// CDialog_Login 对话框
IMPLEMENT_DYNAMIC(CDialog_Login, CDialog)
CDialog_Login::CDialog_Login(CWnd* pParent /*=NULL*/)
: CDialog(CDialog_Login::IDD, pParent)
, m_userpwd(_T(""))
{
}
CDialog_Login::~CDialog_Login()
{
if(m_AdoRecordSet.IsOpen())
m_AdoRecordSet.Close();
if(m_AdoConnection.IsOpen())
m_AdoConnection.Close();
}
void CDialog_Login::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO_USERNAME, m_listusers);
DDX_Text(pDX, IDC_EDIT_PASSWD, m_userpwd);
}
BEGIN_MESSAGE_MAP(CDialog_Login, CDialog)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_CBN_SELCHANGE(IDC_COMBO_USERNAME, OnCbnSelchangeComboUsername)
END_MESSAGE_MAP()
// CDialog_Login 消息处理程序
BOOL CDialog_Login::OnInitDialog(){
CDialog::OnInitDialog();
CLoginDatabase *dlg=new CLoginDatabase;
ASSERT(dlg);
INT_PTR nResponse=dlg->DoModal();
if(nResponse==IDOK){
theApp.m_pSkin =GetDlgItem(IDC_SKIN3)->GetControlUnknown();
theApp.m_pSkin->LoadSkin(L"winaqua.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
//连接Ado数据源
if(m_AdoConnection.ConnectSQLServer(m_dbsrc,"schooldata",m_dbuser,m_dbpwd)){
CWnd *pWnd1=CWnd::FindWindow(NULL,"校人事信息管理系统");
((CSchoolManageSys_2Dlg*) pWnd1)->m_AdoConnection=m_AdoConnection;
AfxMessageBox("成功连接到本地数据库服务器!");
m_AdoRecordSet.SetAdoConnection(&m_AdoConnection);
m_AdoRecordSet.SetCursorLocation();
m_AdoRecordSet.Open("users",adCmdTable);
m_AdoConnection.BeginTrans();
if(UpdateRecord(TRUE)){}
}
else {
AfxMessageBox("连接数据库失败");
}
}else {
OnCancel();
}
return TRUE;
}
void CDialog_Login::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
if(!m_AdoRecordSet.IsBOF())
m_AdoRecordSet.MoveFirst();
while(!m_AdoRecordSet.IsEOF()){
CString usernametmp,pwd;
m_AdoRecordSet.GetCollect("username",usernametmp);
m_AdoRecordSet.GetCollect("passwd",pwd);
if(usernametmp==m_username&&m_userpwd==pwd) break;
m_AdoRecordSet.MoveNext();
}
if(!m_AdoRecordSet.IsEOF()) OnOK();
if(m_AdoRecordSet.IsEOF()){
AfxMessageBox("数据库用户密码错误");
m_userpwd="";
UpdateData(FALSE);
}
}
BOOL CDialog_Login::UpdateRecord(BOOL bload){
if(m_AdoRecordSet.GetRecordCount()<0) return FALSE;
if(bload){
CString username;
int nRecord(0);
while(!m_AdoRecordSet.IsEOF()){
m_AdoRecordSet.GetCollect("username",username);
m_listusers.AddString(username);
nRecord++;
m_AdoRecordSet.MoveNext();
}
m_listusers.SetCurSel(nRecord);
UpdateData(FALSE);
return TRUE;
}else {}
}
void CDialog_Login::OnCbnSelchangeComboUsername()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
m_listusers.GetLBText(m_listusers.GetCurSel(),m_username);
UpdateData(FALSE);
if(m_username=="用户名"){
AfxMessageBox("请选择一个用户操作");
return;
}
}
void CDialog_Login::OnOK(){
if(m_AdoRecordSet.IsOpen())
m_AdoRecordSet.Cancel();
if(m_AdoConnection.IsOpen())
m_AdoConnection.Cancel();
CDialog::OnOK();
}
void CDialog_Login::OnCancel(){
if(m_AdoRecordSet.IsOpen())
m_AdoRecordSet.Cancel();
if(m_AdoConnection.IsOpen())
m_AdoConnection.Cancel();
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -