📄 usersmanagedlg.cpp
字号:
// UsersManageDlg.cpp : implementation file
//
#include "stdafx.h"
#include "library.h"
#include "UsersManageDlg.h"
#include "UsersCheckdlg.h"
#include "UsersSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUsersManageDlg dialog
CUsersManageDlg::CUsersManageDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUsersManageDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUsersManageDlg)
m_id = _T("");
m_password = _T("");
m_sex = _T("");
m_name = _T("");
m_address = _T("");
m_tel = _T("");
m_email = _T("");
m_class = _T("");
m_department = _T("");
m_major = _T("");
m_classno = _T("");
m_corporation = _T("");
m_readstat = _T("");
m_power = _T("");
//}}AFX_DATA_INIT
}
void CUsersManageDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUsersManageDlg)
DDX_Text(pDX, IDC_ID, m_id);
DDX_Text(pDX, IDC_PASSWORD, m_password);
DDX_Text(pDX, IDC_SEX, m_sex);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_ADDRESS, m_address);
DDX_Text(pDX, IDC_TEL, m_tel);
DDX_Text(pDX, IDC_EMAIL, m_email);
DDX_Text(pDX, IDC_CLASS, m_class);
DDX_Text(pDX, IDC_DEPARTMENT, m_department);
DDX_Text(pDX, IDC_MAJOR, m_major);
DDX_Text(pDX, IDC_CLASSNO, m_classno);
DDX_Text(pDX, IDC_CORPORATION, m_corporation);
DDX_Text(pDX, IDC_READSTAT, m_readstat);
DDX_Text(pDX, IDC_POWER, m_power);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUsersManageDlg, CDialog)
//{{AFX_MSG_MAP(CUsersManageDlg)
ON_BN_CLICKED(IDC_USERSADD, OnUsersadd)
ON_BN_CLICKED(IDC_USERSCHECK, OnUserscheck)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_BN_CLICKED(IDC_AMEND, OnAmend)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUsersManageDlg message handlers
BOOL CUsersManageDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
// GetDlgItem(IDC_POWER)->SetWindowText("");
m_brush.CreateSolidBrush(RGB(0, 255, 0)); // 生成一绿色刷子
if(!m_database.IsOpen())
{
//连接数据源
if(!m_database.OpenEx("DSN=MySQL;UID=sa;PWD=123;CDatabase::noOdbcDialog"))
{
MessageBox("连接数据库失败!","新书登记入库",MB_OK|MB_ICONINFORMATION);
return TRUE;
}
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUsersManageDlg::OnUsersadd()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_id.TrimLeft();
m_id.TrimRight();
if(m_id.IsEmpty())
{
MessageBox("请填写读者ID","读者加入");
GetDlgItem(IDC_ID)->SetFocus();
return;
}
CUsersSet *m_pset=new CUsersSet(&m_database);
//判断库中是否有该用户,进行相应操作
CString strSQL;
strSQL.Format("select * from USERS where Uid='%s'",m_id);
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
//若库中有该用户记录
if(m_pset->GetRecordCount()!=0)
{
MessageBox("库中已有该用户记录,请核对!","读者加入",MB_OK|MB_ICONINFORMATION);
m_pset->Close();
return;
}
else
{
m_pset->Close();
strSQL.Format("select * from USERS");
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
m_pset->AddNew();
m_pset->SetFieldNull(&(m_pset->m_Uid),FALSE);
m_pset->m_Uid=m_id;
m_pset->m_Upassword=m_password;
m_pset->m_Upower=atoi(m_power);
m_pset->m_Usex=atoi(m_sex);
m_pset->m_Uname=m_name;
m_pset->m_Uaddress=m_address;
m_pset->m_Utel=m_tel;
m_pset->m_Uemail=m_email;
m_pset->m_Uclass=m_class;
m_pset->m_Udepartment=m_class;
m_pset->m_Umajor=m_major;
m_pset->m_Uclassno=m_classno;
m_pset->m_Ucorporation=m_corporation;
m_pset->m_Ureadstat=atoi(m_readstat);
m_pset->Update();
m_pset->Requery();
m_pset->Close();
CString strTemp;
CString strPower;
strPower.Format("%d",m_power);
strTemp="ID:"+m_id+" 密码"+m_password+"\n权限:"+strPower\
+" 性别:"+m_sex+" \n姓名:"+m_name+" 地址:"+m_address\
+"\n联系电话"+m_tel+" email:"+m_email+"\n班级:"+m_class+" 系别:"+m_department\
+"\n专业"+m_major+" 学号:"+m_classno+"\n所在单位:"+m_corporation+" 用户状态:"+m_readstat+"\n成功加入";
MessageBox(strTemp,"读者加入");
m_id.Empty();
m_password.Empty();
m_power=""; //0改为"";
m_sex=""; //1去掉
m_name.Empty();
m_address.Empty();
m_tel.Empty();
m_email.Empty();
m_class.Empty();
m_department.Empty();
m_major.Empty();
m_classno.Empty();
m_corporation.Empty();
m_readstat="";//1去掉
UpdateData(FALSE);
return;
}
}
void CUsersManageDlg::OnUserscheck()
{
// TODO: Add your control notification handler code here
CUsersCheckDlg dlg;
dlg.DoModal();
}
HBRUSH CUsersManageDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor ==CTLCOLOR_DLG)
return m_brush; //返加绿色刷子
if(nCtlColor==CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor==CTLCOLOR_STATIC)
{
//pDC->SetBkColor(RGB(0, 255, 0));
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC->SetTextColor(RGB(0,0,255));
//pDC->SetBkMode(TRANSPARENT);
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CUsersManageDlg::OnDelete()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_id.TrimLeft();
m_id.TrimRight();
if(m_id.IsEmpty())
{
MessageBox("请填写读者ID","读者加入");
GetDlgItem(IDC_ID)->SetFocus();
return;
}
CUsersSet *m_pset=new CUsersSet(&m_database);
CString strSQL;
strSQL.Format("select * from USERS where Uid='%s'",m_id);
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_pset->GetRecordCount()==0)
{
MessageBox("本馆没有该用户记录!","用户修改");
m_pset->Close();
return;
}
else
{
m_pset->Delete();
MessageBox("ID为:"+m_id+"的读者\n删除成功!","图书删除");
m_id = _T("");
m_password = _T("");
m_power = "";
m_sex = _T("1");
m_name = _T("");
m_address = _T("");
m_tel = _T("");
m_email = _T("");
m_class = _T("");
m_department = _T("");
m_major = _T("");
m_classno = _T("");
m_corporation = _T("");
m_readstat = _T("1");
UpdateData(false);
m_pset->Close();
}
}
void CUsersManageDlg::OnAmend()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_id.TrimLeft();
m_id.TrimRight();
if(m_id.IsEmpty())
{
MessageBox("请填写读者ID","读者加入");
GetDlgItem(IDC_ID)->SetFocus();
return;
}
CUsersSet *m_pset=new CUsersSet(&m_database);
CString strSQL;
strSQL.Format("select * from USERS where Uid='%s'",m_id);
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_pset->GetRecordCount()==0)
{
MessageBox("本馆没有该用户记录!","用户修改");
m_pset->Close();
return;
}
else
{
m_pset->Edit();
m_pset->m_Uid=m_id;
m_pset->m_Upassword=m_password;
m_pset->m_Upower=atoi(m_power); //
m_pset->m_Usex=atoi(m_sex);
m_pset->m_Uname=m_name;
m_pset->m_Uaddress=m_address;
m_pset->m_Utel=m_tel;
m_pset->m_Uemail=m_email;
m_pset->m_Uclass=m_class;
m_pset->m_Udepartment=m_department;
m_pset->m_Umajor=m_major;
m_pset->m_Uclassno=m_classno;
m_pset->m_Ucorporation=m_corporation;
m_pset->m_Ureadstat=atoi(m_readstat);
m_pset->Update();
m_pset->Requery();
m_pset->Close();
MessageBox("ID为:"+m_id+"的读者\n修改成功!","图书修改");
m_id = _T("");
m_password = _T("");
m_power = "";//0改为""
m_sex = _T("1");
m_name = _T("");
m_address = _T("");
m_tel = _T("");
m_class = _T("");
m_email = _T("");
m_department = _T("");
m_major = _T("");
m_classno = _T("");
m_corporation = _T("");
m_readstat = _T("1");
UpdateData(false);
}
}
void CUsersManageDlg::OnCancel()
{
// TODO: Add extra cleanup here
if(m_database.IsOpen())
m_database.Close();
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -