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;
}