www.pudn.com > rsdagl.rar > LoginDialog.cpp


// LoginDialog.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "人事管理系统.h" 
#include "LoginDialog.h" 
#include ".\logindialog.h" 
 
 
// CLoginDialog 对话框 
 
IMPLEMENT_DYNAMIC(CLoginDialog, CDialog) 
CLoginDialog::CLoginDialog(CWnd* pParent /*=NULL*/) 
	: CDialog(CLoginDialog::IDD, pParent) 
	, m_username(_T("")) 
	, m_password(_T("")) 
	, m_cancel(false) 
{ 
} 
 
CLoginDialog::~CLoginDialog() 
{ 
} 
 
void CLoginDialog::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Text(pDX, IDC_USERNAME, m_username); 
	DDX_Text(pDX, IDC_PASSWORD, m_password); 
	m_cancel=false; 
 
	DDX_Control(pDX, IDC_USERNAME, m_combox); 
} 
 
BEGIN_MESSAGE_MAP(CLoginDialog, CDialog) 
	ON_WM_DESTROY() 
	ON_BN_CLICKED(IDOK, OnBnClickedOk) 
	ON_WM_LBUTTONDOWN() 
END_MESSAGE_MAP() 
 
 
 
void CLoginDialog::OnOK() 
{ 
	// TODO: 在此添加专用代码和/或调用基类 
	UpdateData(true); 
	m_password.TrimLeft(); 
	m_password.TrimRight(); 
 
	CDialog::OnOK(); 
} 
 
BOOL CLoginDialog::OnInitDialog() 
{ 
	CDialog::OnInitDialog(); 
 
	// TODO:  在此添加额外的初始化 
	 
 
	try 
	{ 
		InitDatebase(); 
		m_pRecordset->MoveFirst(); 
		CString Cadminname; 
		while(!m_pRecordset->adoEOF) 
		{ 
			_variant_t vadminname; 
			vadminname=m_pRecordset->GetCollect("管理员"); 
			if(vadminname.vt!=VT_NULL) 
				Cadminname=(LPCSTR)_bstr_t(vadminname); 
			m_combox.AddString(Cadminname); 
			m_pRecordset->MoveNext(); 
		} 
	} 
	catch(_com_error e) 
	{ 
	} 
 
	return TRUE;  // return TRUE unless you set the focus to a control 
	// 异常: OCX 属性页应返回 FALSE 
} 
 
void CLoginDialog::OnDestroy() 
{ 
 
	CDialog::OnDestroy(); 
 
	// TODO: 在此处添加消息处理程序代码 
} 
 
void CLoginDialog::OnBnClickedOk() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	CString s; 
	_variant_t ss; 
	GetDlgItemText(IDC_USERNAME,s); 
	m_pRecordset.CreateInstance(_uuidof(Recordset)); 
	//s="SELECT * FROM 管理员 WHERE 管理员="+s; 
	try 
	{ 
		m_pRecordset->Open("SELECT * FROM 管理员 ORDER BY id",theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
		//m_pRecordset->MoveFirst(); 
		while(!m_pRecordset->adoEOF) 
		{ 
			ss=m_pRecordset->GetCollect("管理员");			//1 
			if(ss.vt!=VT_NULL) 
				if(s==(LPCSTR)_bstr_t(ss)) 
				{ 
					theApp.m_quanxian=(LPCSTR)_bstr_t(m_pRecordset->GetCollect("权限")); 
					OnOK(); 
					return; 
				} 
				m_pRecordset->MoveNext();		 
		} 
		//m_pRecordset->Open(_bstr_t(s),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
	} 
	catch(_com_error e) 
	{ 
	//	AfxMessageBox("修改数据时连接错误,请勿乱修改数据库和数据表结构\n如有特别需要请联系作者定制软件:)",MB_OK); 
		return ; 
	} 
	 
	 
} 
 
void CLoginDialog::OnCancel() 
{ 
	// TODO: 在此添加专用代码和/或调用基类 
	m_cancel=true;  //登陆对话框设计! 
 
	CDialog::OnCancel(); 
} 
 
void CLoginDialog::OnLButtonDown(UINT nFlags, CPoint point) 
{ 
	// TODO: 在此添加消息处理程序代码和/或调用默认值 
	PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y)); 
 
	CDialog::OnLButtonDown(nFlags, point); 
} 
 
bool CLoginDialog::InitDatebase(void) 
{ 
	m_pRecordset.CreateInstance(_uuidof(Recordset)); 
	try 
	{ 
	 
		m_pRecordset->Open("SELECT * FROM 管理员 ORDER BY id",theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
	} 
	catch(_com_error e) 
	{ 
	//	AfxMessageBox("修改数据时连接错误,请勿乱修改数据库和数据表结构\n如有特别需要请联系作者定制软件:)",MB_OK); 
		return false; 
	} 
	return true; 
}