📄 usermanagerdlg.cpp
字号:
// UsermanagerDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Library.h"
#include "UsermanagerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUsermanagerDlg dialog
CUsermanagerDlg::CUsermanagerDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUsermanagerDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUsermanagerDlg)
m_strpwd = _T("");
m_struserID = _T("");
m_strpwdOK = _T("");
m_strnumberID = _T("");
m_strusername = _T("");
//}}AFX_DATA_INIT
}
void CUsermanagerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUsermanagerDlg)
DDX_Control(pDX, IDC_EDIT_USER_NAME, m_ctrusername);
DDX_Control(pDX, IDC_EDIT_NUMBER_ID, m_ctrnumberID);
DDX_Control(pDX, IDC_EDIT_PWD, m_ctrpwd);
DDX_Control(pDX, IDC_EDIT_USERID, m_ctruser);
DDX_Control(pDX, IDC_LIST_USER, m_ctrlist);
DDX_Text(pDX, IDC_EDIT_PWD, m_strpwd);
DDX_Text(pDX, IDC_EDIT_USERID, m_struserID);
DDX_Text(pDX, IDC_EDIT_PWDOK, m_strpwdOK);
DDX_Text(pDX, IDC_EDIT_NUMBER_ID, m_strnumberID);
DDX_Text(pDX, IDC_EDIT_USER_NAME, m_strusername);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUsermanagerDlg, CDialog)
//{{AFX_MSG_MAP(CUsermanagerDlg)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
ON_NOTIFY(NM_CLICK, IDC_LIST_USER, OnClickListUser)
ON_BN_CLICKED(IDC_BUTTON_CANCEL, OnButtonCancel)
ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUsermanagerDlg message handlers
void CUsermanagerDlg::OnButtonAdd()
{
m_struserID="";
m_strpwd="";
m_strpwdOK="";
m_ctruser.SetFocus();
UpdateData(FALSE);
}
void CUsermanagerDlg::RefreshData()
{
m_ctrlist.SetFocus();
//清除用户列表
m_ctrlist.DeleteAllItems();
m_ctrlist.SetRedraw(FALSE);
CString strSQL;
UpdateData(TRUE);
strSQL.Format("select * from admininfo");
if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库错误!","数据库错误",MB_OK);
return ;
}
//添加用户ID到列表中
int i=0;
while(!m_adminset.IsEOF())
{
m_ctrlist.InsertItem(i,m_adminset.m_User_ID);
m_adminset.MoveNext();
i++;
}
m_adminset.Close();
m_ctrlist.SetRedraw(TRUE);
}
void CUsermanagerDlg::OnButtonDelete()
{
int i=m_ctrlist.GetSelectionMark();
//判断用户是否选择了记录
if(i<0)
{
AfxMessageBox("请在列表中选择一个记录");
return ;
}
CString strSQL;
strSQL.Format("select * from admininfo where User_ID='%s'",m_ctrlist.GetItemText(i,0));
if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
AfxMessageBox("打开数据库错误");
return ;
}
m_adminset.Delete();
m_adminset.Close();
m_ctrlist.DeleteItem(i);
//更新界面显示
m_struserID=_T("");
m_strusername=_T("");
UINT nsex=GetCheckedRadioButton(IDC_RADIO_NAN,IDC_RADIO_NV);
((CButton*)GetDlgItem(nsex))->SetCheck(BST_UNCHECKED);
m_strnumberID=_T("");
m_strpwd=_T("");
UpdateData(FALSE);
}
void CUsermanagerDlg::OnOK()
{
//CDialog::OnOK();
UpdateData();
//对用户必填信息是否输入进行检查
if(m_struserID.IsEmpty())
{
MessageBox("请输入用户ID!");
m_ctruser.SetFocus();
return ;
}
if(m_strpwd.IsEmpty())
{
MessageBox("请输入密码!");
m_ctrpwd.SetFocus();
return;
}
if(m_strpwd!=m_strpwdOK)
{
MessageBox("两次输入的密码不一致,请重新输入密码");
m_ctrpwd.SetFocus();
m_strpwd="";
m_strpwdOK="";
UpdateData(FALSE);
return ;
}
if(m_strusername.IsEmpty())
{
MessageBox("请输入用户名字!");
m_ctrusername.SetFocus();
return ;
}
if(GetCheckedRadioButton(IDC_RADIO_NAN,IDC_RADIO_NV)==0)
{
MessageBox("请选择性别!");
return ;
}
if(m_strnumberID.IsEmpty())
{
MessageBox("请输入身份证号!");
m_ctrnumberID.SetFocus();
return ;
}
CString strSQL;
strSQL.Format("select * from admininfo where User_ID='%s'",m_struserID);
if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("数据库打开错误","数据库错误",MB_OK);
return ;
}
//判断用户ID是否存在
if(m_adminset.GetRecordCount()!=0)
{
m_adminset.Close();
MessageBox("该用户ID存在!");
return ;
}
//获取性别字符串
UINT nsex=GetCheckedRadioButton(IDC_RADIO_NAN,IDC_RADIO_NV);
CString sex;
switch(nsex){
case IDC_RADIO_NAN:
sex="男";
break;
case IDC_RADIO_NV:
sex="女";
break;
}
m_adminset.AddNew();
m_adminset.m_User_ID=m_struserID;
m_adminset.m_User_Name=m_strusername;
m_adminset.m_Password=m_strpwd;
m_adminset.m_User_Sex=sex;
m_adminset.m_User_Number=m_strnumberID;
m_adminset.Update();
m_adminset.Close();
RefreshData();
MessageBox("添加成功!","请记住用户ID和密码!");
}
void CUsermanagerDlg::OnClickListUser(NMHDR* pNMHDR, LRESULT* pResult)
{
CString strSQL;
UpdateData(TRUE);
//从数据库中选择所选用户ID的资料
int i=m_ctrlist.GetSelectionMark();
m_struserID=m_ctrlist.GetItemText(i,0);
strSQL.Format("select * from admininfo where User_ID='%s'",m_struserID);
if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败","数据库错误",MB_OK);
return ;
}
m_strpwd=m_adminset.m_Password;
m_strpwdOK=m_strpwd;
m_strusername=m_adminset.m_User_Name;
m_strnumberID=m_adminset.m_User_Number;
CString sex;
sex=m_adminset.m_User_Sex;
if(sex=="男")
{
((CButton*)GetDlgItem(IDC_RADIO_NV))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_RADIO_NAN))->SetCheck(BST_CHECKED);
}
else
{
((CButton*)GetDlgItem(IDC_RADIO_NAN))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_RADIO_NV))->SetCheck(BST_CHECKED);
}
m_adminset.Close();
UpdateData(FALSE);
*pResult = 0;
}
BOOL CUsermanagerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//创建用户列表
m_ctrlist.InsertColumn(0,"用户ID");
m_ctrlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ctrlist.SetColumnWidth(0,120);
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUsermanagerDlg::OnButtonCancel()
{
m_struserID=_T("");
m_strusername=_T("");
((CButton*)GetDlgItem(IDC_RADIO_NAN))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_RADIO_NV))->SetCheck(BST_UNCHECKED);
m_strnumberID=_T("");
m_strpwd=_T("");
m_strpwdOK=_T("");
m_ctruser.SetFocus();
UpdateData(FALSE);
}
void CUsermanagerDlg::OnButtonModify()
{
//UpdateData();
//对用户必填信息是否输入进行检查
int i=m_ctrlist.GetSelectionMark();
if(i<0)
{
AfxMessageBox("请在列表中选择一个用户!");
return ;
}
m_struserID=m_ctrlist.GetItemText(i,0);
CString strSQL;
strSQL.Format("select * from admininfo where User_ID='%s'",m_struserID);
if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("数据库打开错误!","数据库错误",MB_OK);
return ;
}
//判断用户ID是否存在
if(m_adminset.GetRecordCount()==0)
{
m_adminset.Close();
MessageBox("该用户ID不存在!");
return ;
}
if(m_struserID.IsEmpty())
{
MessageBox("请输入用户ID!");
m_ctruser.SetFocus();
return ;
}
if(m_strpwd.IsEmpty())
{
MessageBox("请输入密码!");
m_ctrpwd.SetFocus();
return;
}
if(m_strpwd!=m_strpwdOK)
{
MessageBox("两次输入的密码不一致,请重新输入密码");
m_ctrpwd.SetFocus();
m_strpwd="";
m_strpwdOK="";
UpdateData(FALSE);
return ;
}
if(m_strusername.IsEmpty())
{
MessageBox("请输入用户名字!");
m_ctrusername.SetFocus();
return ;
}
if(GetCheckedRadioButton(IDC_RADIO_NAN,IDC_RADIO_NV)==0)
{
MessageBox("请选择性别!");
return ;
}
if(m_strnumberID.IsEmpty())
{
MessageBox("请输入身份证号!");
m_ctrnumberID.SetFocus();
return ;
}
//获取性别字符串
UINT nsex=GetCheckedRadioButton(IDC_RADIO_NAN,IDC_RADIO_NV);
CString sex;
switch(nsex){
case IDC_RADIO_NAN:
sex="男";
break;
case IDC_RADIO_NV:
sex="女";
break;
}
UpdateData(TRUE);
m_adminset.Edit();
m_adminset.m_User_ID=m_struserID;
m_adminset.m_User_Name=m_strusername;
m_adminset.m_Password=m_strpwd;
m_adminset.m_User_Sex=sex;
m_adminset.m_User_Number=m_strnumberID;
m_adminset.Update();
m_adminset.Close();
RefreshData();
MessageBox("修改成功!","请记住用户ID和密码!");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -