📄 umanager.cpp
字号:
// umanager.cpp : implementation file
//
#include "stdafx.h"
#include "图书管理系统.h"
#include "umanager.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMyApp theApp;
/////////////////////////////////////////////////////////////////////////////
// Cumanager dialog
Cumanager::Cumanager(CWnd* pParent /*=NULL*/)
: CDialog(Cumanager::IDD, pParent)
{
//{{AFX_DATA_INIT(Cumanager)
m_age = _T("");
m_id = _T("");
m_name = _T("");
m_phone = _T("");
m_input = _T("");
m_sex1 = _T("");
m_password = _T("");
m_address = _T("");
//}}AFX_DATA_INIT
}
void Cumanager::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cumanager)
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Control(pDX, IDC_COMBO1, m_sex);
DDX_Text(pDX, IDC_age, m_age);
DDX_Text(pDX, IDC_ID, m_id);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_phone, m_phone);
DDX_Text(pDX, IDC_INPUT, m_input);
DDX_CBString(pDX, IDC_COMBO1, m_sex1);
DDX_Text(pDX, IDC_password, m_password);
DDX_Text(pDX, IDC_address, m_address);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cumanager, CDialog)
//{{AFX_MSG_MAP(Cumanager)
ON_BN_CLICKED(IDC_UID, OnUid)
ON_BN_CLICKED(IDC_UNAME, OnUname)
ON_BN_CLICKED(IDC_UALL, OnUall)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_CHECK, OnCheck)
ON_BN_CLICKED(IDC_UADD, OnUadd)
ON_BN_CLICKED(IDC_UCHANGE, OnUchange)
ON_BN_CLICKED(IDC_UDEL, OnUdel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cumanager message handlers
BOOL Cumanager::OnInitDialog()
{
CDialog::OnInitDialog();
((CButton *)GetDlgItem(IDC_UALL))->SetCheck(TRUE);
//((CButton *)GetDlgItem(IDC_UADD))->SetCheck(TRUE);
m_list.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_list.InsertColumn(0,"读者编号",LVCFMT_CENTER,80,0);
m_list.InsertColumn(1,"读者密码",LVCFMT_CENTER,100,1);
m_list.InsertColumn(2,"读者姓名",LVCFMT_CENTER,80,2);
m_list.InsertColumn(3,"读者性别",LVCFMT_CENTER,80,3);
m_list.InsertColumn(4,"读者年龄",LVCFMT_CENTER,80,4);
m_list.InsertColumn(5,"联系电话",LVCFMT_CENTER,150,5);
m_list.InsertColumn(6,"家庭住址",LVCFMT_CENTER,300,6);
m_sex.InsertString(0,"男");
m_sex.InsertString(1,"女");
m_sex.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void Cumanager::OnUid()
{
pass=1;
}
void Cumanager::OnUname()
{
pass=2;
}
void Cumanager::OnUall()
{
pass=3;
}
void Cumanager::connect()
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open(sql.AllocSysString(),
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void Cumanager::read()
{
connect();
m_list.DeleteAllItems();
while(!m_pRecordset->adoEOF)
{
m_list.InsertItem(0,"");
var=m_pRecordset->GetCollect("readernumber");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,0,_bstr_t(var));
var=m_pRecordset->GetCollect("password");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,1,_bstr_t(var));
var=m_pRecordset->GetCollect("readername");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,2,_bstr_t(var));
var=m_pRecordset->GetCollect("readersex");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,3,_bstr_t(var));
var=m_pRecordset->GetCollect("readerage");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,4,_bstr_t(var));
var=m_pRecordset->GetCollect("telephone");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,5,_bstr_t(var));
var=m_pRecordset->GetCollect("address");
if(var.vt!=VT_NULL)
m_list.SetItemText(0,6,_bstr_t(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
void Cumanager::OnOK()
{
if(choose==1)
{
UpdateData();
m_sex.GetLBText(m_sex.GetCurSel(),sql1);
if(m_id.IsEmpty()||m_name.IsEmpty()||m_age.IsEmpty()||m_sex1.IsEmpty())
{
MessageBox("用户信息不能为空");
return;
}
try
{
sql.Format("insert into reader (readernumber,password,readername,readersex,readerage,address,telephone)\
values('%s','%s','%s','%s','%s','%s','%s')",m_id,m_password,m_name,sql1,m_age,m_address,m_phone);
connect();
}
catch(...)
{
MessageBox("操作失败,读者编号不能重复");
return;
}
MessageBox("添加成功");
sql.Format("select * from reader order by readernumber desc");
read();
chean();
}
else if(choose==2)
{
if(pos<0)
{
MessageBox("请选择要修改的条目");
return;
}
UpdateData();
m_sex.GetLBText(m_sex.GetCurSel(),sql1);
try
{
sql.Format("Update reader set readernumber='%s',password='%s',readername='%s',readersex='%s',readerage='%s', \
address='%s',telephone='%s' where readernumber='%s'",m_id,m_password,m_name,sql1,m_age,m_address,m_phone,aa);
connect();
}
catch(...)
{
MessageBox("操作失败");
return;
}
MessageBox("修改成功");
sql.Format("select * from reader order by readernumber desc");
read();
chean();
}
else if(choose==3)
{
if(pos<0)
{
MessageBox("请选择要删除的条目");
return;
}
try
{
sql.Format("delete from reader where readernumber='%s'",m_id);
connect();
}
catch(...)
{
MessageBox("操作失败");
return;
}
MessageBox("删除成功");
sql.Format("select * from reader order by readernumber desc");
read();
chean();
}
}
void Cumanager::OnCheck()
{
if(pass==1)
{
UpdateData();
if(m_input.IsEmpty())
{
MessageBox("请输入要查询的内容");
return;
}
sql.Format("select * from reader where readernumber='%s'",m_input);
}
else if(pass==2)
{
UpdateData();
if(m_input.IsEmpty())
{
MessageBox("请输入要查询的内容");
return;
}
sql.Format("select * from reader where readername='%s'",m_input);
}
else if(pass==3)
sql.Format("select * from reader order by readernumber desc");
else
sql.Format("select * from reader order by readernumber desc");
m_input="";
UpdateData(FALSE);
read();
}
void Cumanager::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
pos=-1;
UpdateData();
pos=m_list.GetSelectionMark();
m_id=m_list.GetItemText(pos,0);
aa=m_id;
m_password=m_list.GetItemText(pos,1);
m_name=m_list.GetItemText(pos,2);
m_sex1=m_list.GetItemText(pos,3);
m_age=m_list.GetItemText(pos,4);
m_phone=m_list.GetItemText(pos,5);
m_address=m_list.GetItemText(pos,6);
UpdateData(FALSE);
*pResult = 0;
}
void Cumanager::OnUadd()
{
choose=1;
chean();
}
void Cumanager::OnUchange()
{
choose=2;
}
void Cumanager::OnUdel()
{
choose=3;
}
void Cumanager::chean()
{
m_id="";
m_password="";
m_name="";
m_sex1="";
m_age="";
m_phone="";
m_address="";
UpdateData(FALSE);
pos=-1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -