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


// AddUser.cpp : 实现文件 
// 
 
/*#include "stdafx.h" 
#include "人事管理系统.h" 
#include "AddUser.h" 
#include ".\adduser.h" 
#include "MainFrm.h" 
#include "BkStatic.h" 
#include "人事管理系统Doc.h" 
 
 
// CAddUser 对话框 
 
IMPLEMENT_DYNAMIC(CAddUser, CDialog) 
CAddUser::CAddUser(CWnd* pParent /*=NULL*/) 
	/*: CDialog(CAddUser::IDD, pParent) 
{ 
} 
 
CAddUser::~CAddUser() 
{ 
} 
 
void CAddUser::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Control(pDX, IDC_STATIC3, m_logotest); 
} 
 
 
BEGIN_MESSAGE_MAP(CAddUser, CDialog) 
	ON_BN_CLICKED(IDC_INSERT, OnBnClickedInsert) 
	ON_EN_UPDATE(IDC_PASSWORD2, OnEnUpdatePassword2) 
END_MESSAGE_MAP() 
 
 
// CAddUser 消息处理程序 
 
BOOL CAddUser::OnInitDialog() 
{ 
	CDialog::OnInitDialog(); 
	m_logotest.settext("   添加管理员"); 
 
	// TODO:  在此添加额外的初始化 
	CMainFrame *pFrm = (CMainFrame *)AfxGetApp()->m_pMainWnd; 
	CString Cusername; 
	Cusername=pFrm->m_AdminInfo.username; 
	SetDlgItemText(IDC_NOWNEW,Cusername); 
	GetDlgItem(IDC_NOWNEW)->EnableWindow(false); 
	GetDlgItem(IDC_PASSWORD2)->EnableWindow(false); 
	GetDlgItem(IDC_STATIC2)->ShowWindow(false); 
 
	return TRUE;  // return TRUE unless you set the focus to a control 
	// 异常: OCX 属性页应返回 FALSE 
} 
 
 
void CAddUser::OnBnClickedInsert() 
{ 
	CMainFrame *pFrm=(CMainFrame *)AfxGetApp()->m_pMainWnd; 
	CString cs,ct; 
	GetDlgItemText(IDC_PASSWORD1,cs); 
	GetDlgItemText(IDC_INSERT,ct); 
	if(strcmp(cs,pFrm->m_AdminInfo.password)==0 &&ct=="身份验证") 
	{ 
		GetDlgItem(IDC_NOWNEW)->EnableWindow(true); 
		GetDlgItem(IDC_PASSWORD2)->EnableWindow(true); 
		GetDlgItem(IDC_STATIC1)->EnableWindow(true); 
		GetDlgItem(IDC_STATIC2)->EnableWindow(true); 
		GetDlgItem(IDC_INSERT)->EnableWindow(true); 
		SetDlgItemText(IDC_STATIC4,"添加操作用户"); 
		SetDlgItemText(IDC_NOWNEW,""); 
		SetDlgItemText(IDC_INSERT,"添加用户"); 
		SetDlgItemText(IDC_PASSWORD1,""); 
		GetDlgItem(IDC_STATIC1)->ShowWindow(true); 
		GetDlgItem(IDC_STATIC2)->ShowWindow(true); 
		SetDlgItemText(IDC_STATIC1,"请设定新密码"); 
		GetDlgItem(IDC_NOWNEW)->SetFocus(); 
		GetDlgItem(IDC_INSERT)->EnableWindow(false); 
 
	} 
	if(strcmp(ct,"添加用户")==0) //添加管理员帐号 
	{ 
		try 
		{ 
			CString cName,cPassword,cPassword2; 
			GetDlgItemText(IDC_PASSWORD1,cPassword); 
			GetDlgItemText(IDC_PASSWORD2,cPassword2); 
			GetDlgItemText(IDC_NOWNEW,cName); 
 
			if(strcmp(cPassword,cPassword2)!=0) 
			{ 
				AfxMessageBox("两次输入密码不一致,请重新输入",MB_OK); 
				SetDlgItemText(IDC_PASSWORD1,""); 
				SetDlgItemText(IDC_PASSWORD2,""); 
				return; 
			} 
            if(InitDatebase()) 
			{ 
				int num=1; 
				m_pRecordset->MoveFirst(); 
				while(!m_pRecordset->adoEOF) 
				{ 
					num++; 
					m_pRecordset->MoveNext(); 
				} 
				_variant_t rs; 
				CString Sqlcommand; 
				Sqlcommand.Format("INSERT INTO 管理员 VALUES(%d,'%s','%s')",num,cName,cPassword); 
				theApp.m_pConnection->Execute(_bstr_t(Sqlcommand),&rs,adCmdText); 
				CString cs; 
				cs.Format("添加用户%s成功,请牢记您的密码!",cName); 
				MessageBox(cs); 
				OnOK(); 
			}					 
		} 
		catch(_com_error e) 
		{ 
			MessageBox("所添加名已经存在,请重新添加用户名!"); 
			SetDlgItemText(IDC_NOWNEW,""); 
			SetDlgItemText(IDC_PASSWORD1,""); 
			SetDlgItemText(IDC_PASSWORD2,""); 
		}		 
	} 
 
} 
 
void CAddUser::OnEnUpdatePassword2() 
{ 
	// TODO:  如果该控件是 RICHEDIT 控件,则它将不会 
	// 发送该通知,除非重写 CDialog::OnInitDialog() 
	// 函数,将 EM_SETEVENTMASK 消息发送到控件, 
	// 同时将 ENM_UPDATE 标志“或”运算到 lParam 掩码中。 
	GetDlgItem(IDC_INSERT)->EnableWindow(true); 
 
	// TODO:  在此添加控件通知处理程序代码 
} 
 
 
bool CAddUser::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; 
} 
*/ 
// AddUser.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "人事管理系统.h" 
#include "AddUser.h" 
#include ".\adduser.h" 
#include "MainFrm.h" 
#include "BkStatic.h" 
#include "人事管理系统Doc.h" 
 
 
// CAddUser 对话框 
 
IMPLEMENT_DYNAMIC(CAddUser, CDialog) 
CAddUser::CAddUser(CWnd* pParent /*=NULL*/) 
	: CDialog(CAddUser::IDD, pParent) 
{ 
} 
 
CAddUser::~CAddUser() 
{ 
} 
 
void CAddUser::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Control(pDX, IDC_STATIC3, m_logotest); 
} 
 
 
BEGIN_MESSAGE_MAP(CAddUser, CDialog) 
	ON_BN_CLICKED(IDC_INSERT, OnBnClickedInsert) 
	ON_EN_UPDATE(IDC_PASSWORD2, OnEnUpdatePassword2) 
END_MESSAGE_MAP() 
 
 
// CAddUser 消息处理程序 
 
BOOL CAddUser::OnInitDialog() 
{ 
	CDialog::OnInitDialog(); 
	m_logotest.settext("   添加管理员"); 
 
	// TODO:  在此添加额外的初始化 
	CMainFrame *pFrm = (CMainFrame *)AfxGetApp()->m_pMainWnd; 
	CString Cusername; 
	Cusername=pFrm->m_AdminInfo.username; 
	SetDlgItemText(IDC_NOWNEW,Cusername); 
	GetDlgItem(IDC_NOWNEW)->EnableWindow(false); 
	GetDlgItem(IDC_PASSWORD2)->EnableWindow(false); 
	GetDlgItem(IDC_STATIC2)->ShowWindow(false); 
	GetDlgItem(IDC_STATIC5)->ShowWindow(false); 
	GetDlgItem(IDC_QUANXIAN)->ShowWindow(false); 
 
	return TRUE;  // return TRUE unless you set the focus to a control 
	// 异常: OCX 属性页应返回 FALSE 
} 
 
 
void CAddUser::OnBnClickedInsert() 
{ 
	CMainFrame *pFrm=(CMainFrame *)AfxGetApp()->m_pMainWnd; 
	CString cs,ct; 
	GetDlgItemText(IDC_PASSWORD1,cs); 
	GetDlgItemText(IDC_INSERT,ct); 
	if(strcmp(cs,pFrm->m_AdminInfo.password)==0 &&ct=="身份验证") 
	{ 
		GetDlgItem(IDC_NOWNEW)->EnableWindow(true); 
		GetDlgItem(IDC_PASSWORD2)->EnableWindow(true); 
		GetDlgItem(IDC_STATIC1)->EnableWindow(true); 
		GetDlgItem(IDC_STATIC2)->EnableWindow(true); 
		GetDlgItem(IDC_INSERT)->EnableWindow(true); 
		SetDlgItemText(IDC_STATIC4,"添加操作用户"); 
		SetDlgItemText(IDC_NOWNEW,""); 
		SetDlgItemText(IDC_INSERT,"添加用户"); 
		SetDlgItemText(IDC_PASSWORD1,""); 
		GetDlgItem(IDC_STATIC1)->ShowWindow(true); 
		GetDlgItem(IDC_STATIC2)->ShowWindow(true); 
		GetDlgItem(IDC_STATIC5)->ShowWindow(true); 
		GetDlgItem(IDC_QUANXIAN)->ShowWindow(true); 
 
		SetDlgItemText(IDC_STATIC1,"请设定新密码"); 
		GetDlgItem(IDC_NOWNEW)->SetFocus(); 
		GetDlgItem(IDC_INSERT)->EnableWindow(false); 
 
	} 
	if(strcmp(ct,"添加用户")==0) //添加管理员帐号 
	{ 
		try 
		{ 
			CString cName,cPassword,cPassword2,cQuanxian; 
			GetDlgItemText(IDC_PASSWORD1,cPassword); 
			GetDlgItemText(IDC_PASSWORD2,cPassword2); 
			GetDlgItemText(IDC_NOWNEW,cName); 
			GetDlgItemText(IDC_QUANXIAN,cQuanxian); 
			if(cQuanxian=="系统管理员") 
				cQuanxian="1"; 
			else 
				cQuanxian="0"; 
			if(strcmp(cPassword,cPassword2)!=0) 
			{ 
				AfxMessageBox("两次输入密码不一致,请重新输入",MB_OK); 
				SetDlgItemText(IDC_PASSWORD1,""); 
				SetDlgItemText(IDC_PASSWORD2,""); 
				return; 
			} 
            if(1) 
			{ 
			/*	int num=1; 
				m_pRecordset->MoveFirst(); 
				while(!m_pRecordset->adoEOF) 
				{ 
					num++; 
					m_pRecordset->MoveNext(); 
				} 
				*/ 
				int num =2123; 
				_variant_t rs; 
				CString Sqlcommand; 
				Sqlcommand.Format("INSERT INTO 管理员 VALUES(%d,'%s','%s','%s')",num,cName,cPassword,cQuanxian); 
				theApp.m_pConnection->Execute(_bstr_t(Sqlcommand),&rs,adCmdText); 
				CString cs; 
				cs.Format("添加用户%s成功,请牢记您的密码!",cName); 
				MessageBox(cs); 
				OnOK(); 
			}					 
		} 
		catch(_com_error e) 
		{ 
			MessageBox("所添加名已经存在,请重新添加用户名!"); 
			SetDlgItemText(IDC_NOWNEW,""); 
			SetDlgItemText(IDC_PASSWORD1,""); 
			SetDlgItemText(IDC_PASSWORD2,""); 
			SetDlgItemText(IDC_QUANXIAN,""); 
		}		 
	} 
 
} 
 
void CAddUser::OnEnUpdatePassword2() 
{ 
	// TODO:  如果该控件是 RICHEDIT 控件,则它将不会 
	// 发送该通知,除非重写 CDialog::OnInitDialog() 
	// 函数,将 EM_SETEVENTMASK 消息发送到控件, 
	// 同时将 ENM_UPDATE 标志“或”运算到 lParam 掩码中。 
	GetDlgItem(IDC_INSERT)->EnableWindow(true); 
 
	// TODO:  在此添加控件通知处理程序代码 
} 
 
 
bool CAddUser::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; 
}