⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umanager.cpp

📁 图书管理系统,主要功能有图书的借还,增加,查询等
💻 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 + -