📄 bmanager.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 + -