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

📄 bmanager.cpp

📁 图书管理系统,主要功能有图书的借还,增加,查询等
💻 CPP
字号:
// bmanager.cpp : implementation file
//

#include "stdafx.h"
#include "图书管理系统.h"
#include "bmanager.h"
#include "ALL.h"
#include "bchange.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMyApp theApp;
/////////////////////////////////////////////////////////////////////////////
// Cbmanager dialog


Cbmanager::Cbmanager(CWnd* pParent /*=NULL*/)
	: CDialog(Cbmanager::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cbmanager)
	m_ziliao = _T("");
	//}}AFX_DATA_INIT
}


void Cbmanager::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cbmanager)
	DDX_Control(pDX, IDC_COMBO1, m_combo);
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_ZILIAO, m_ziliao);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Cbmanager, CDialog)
	//{{AFX_MSG_MAP(Cbmanager)
	ON_BN_CLICKED(ID_ALL, OnAll)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_BN_CLICKED(ID_ADD, OnAdd)
	ON_BN_CLICKED(ID_CHANGE, OnChange)
	ON_BN_CLICKED(ID_DELECT, OnDelect)
	ON_BN_CLICKED(IDC_CHECK, OnCheck)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cbmanager message handlers

BOOL Cbmanager::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_list.SetExtendedStyle(LVS_EX_FLATSB
		|LVS_EX_FULLROWSELECT
		|LVS_EX_HEADERDRAGDROP
		|LVS_EX_ONECLICKACTIVATE
		|LVS_EX_GRIDLINES);
	m_list.InsertColumn(0,"图书编号",LVCFMT_CENTER,100,0);
	m_list.InsertColumn(1,"图书类别",LVCFMT_CENTER,100,1);
	m_list.InsertColumn(2,"图书名称",LVCFMT_CENTER,262,2);
	m_list.InsertColumn(3,"作者",LVCFMT_CENTER,100,3);

	m_combo.InsertString(0,"按编号");
	m_combo.InsertString(1,"按类别");
	m_combo.InsertString(2,"按名称");
	m_combo.InsertString(3,"按作者");
	m_combo.InsertString(4,"按日期");
	m_combo.InsertString(5,"全部查询");
	m_combo.SetCurSel(5);
	//read();
	return TRUE; 
}

void Cbmanager::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 Cbmanager::read()
{
	connect();
	m_list.DeleteAllItems();
	while(!m_pRecordset->adoEOF)
	{
		m_list.InsertItem(0,"");
		var=m_pRecordset->GetCollect("bookid");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,0,_bstr_t(var));
		var=m_pRecordset->GetCollect("booktype");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,1,_bstr_t(var));
		var=m_pRecordset->GetCollect("bookname");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,2,_bstr_t(var));
		var=m_pRecordset->GetCollect("author");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,3,_bstr_t(var));
		var=m_pRecordset->GetCollect("publicdate");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,4,_bstr_t(var));
		var=m_pRecordset->GetCollect("publisher");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,5,_bstr_t(var));
		var=m_pRecordset->GetCollect("have");
		if(var.vt!=VT_NULL)
			m_list.SetItemText(0,6,_bstr_t(var));
		m_pRecordset->MoveNext();
	}
	m_pRecordset->Close();
	m_pRecordset=NULL;
}

void Cbmanager::OnAll() 
{
	CALL all;
	all.mm=aa;
	all.DoModal();
}

void Cbmanager::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData();
	pos=m_list.GetSelectionMark();
	aa=m_list.GetItemText(pos,0);//获得当前选择的id
	//all.m_id=m_list.GetItemText(pos,0);
	//all.m_type=m_list.GetItemText(pos,1);
	//all.m_name=m_list.GetItemText(pos,2);
	//all.m_date=m_list.GetItemText(pos,4);
	//all.m_address=m_list.GetItemText(pos,5);
	//all.m_have=m_list.GetItemText(pos,6);
	//UpdateData(FALSE);
	*pResult = 0;
}

void Cbmanager::OnAdd() 
{
	Cbchange change;
	change.DoModal();
	if(!sql.IsEmpty())
		read();//按照添加前的选项查询
}

void Cbmanager::OnChange() 
{
	if(pos<0)
	{
		MessageBox("您没有选择要修改的项目");
		return;
	}
	Cbchange change;
	change.p=2;
	change.mm=aa;
	change.DoModal();
	read();
}

void Cbmanager::OnDelect() 
{
	sql1=sql;
	if(pos<0)
	{
		MessageBox("您没有选择要删除的项目");
		return;
	}
	if(MessageBox("确定要删除吗?","提示",MB_ICONQUESTION|MB_YESNO)==IDYES)
	{
		try
		{
			sql.Format("delete from book where bookid='%s'",aa);
			connect();
		}
		catch(_com_error *e)
		{
			AfxMessageBox(e->ErrorMessage());
		}
		//sql.Format("select * from book order by bookid desc");
		sql=sql1;      //按照修改前的选择查询
		pos=-1;
		read();
	}
}

void Cbmanager::OnCheck() 
{
	//m_combo.GetLBText(m_combo.GetCurSel(),sql);
	m_combo.GetWindowText(sql);
	UpdateData();
	if(!sql.Compare("全部查询"))
		sql.Format("select * from book order by bookid desc");
	else
	{
		if(m_ziliao.IsEmpty())
		{
			m_list.DeleteAllItems();
			MessageBox("请输入要查询的内容");
			return;
		}
		if(!sql.Compare("按编号"))
			sql.Format("select * from book where bookid='%s'",m_ziliao);
		else if(!sql.Compare("按类别"))
			sql.Format("select * from book where booktype like '%%%s%%'order by bookid desc",m_ziliao);
		else if(!sql.Compare("按名称"))
			sql.Format("select * from book where bookname like '%%%s%%'order by bookid desc",m_ziliao);
		else if(!sql.Compare("按作者"))
			sql.Format("select * from book where author like '%%%s%%'order by bookid desc",m_ziliao);
		else if(!sql.Compare("按日期"))
			sql.Format("select * from book where publicdate like '%%%s%%'order by bookid desc",m_ziliao);
	}
	m_ziliao="";
	UpdateData(FALSE);
	read();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -