📄 tsgldlg.cpp
字号:
// TSGLDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Library.h"
#include "TSGLDlg.h"
#include "DataBase.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTSGLDlg dialog
CTSGLDlg::CTSGLDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTSGLDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTSGLDlg)
//}}AFX_DATA_INIT
}
void CTSGLDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTSGLDlg)
DDX_Control(pDX, IDC_COMBO, m_combox);
DDX_Control(pDX, IDC_LIST1, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTSGLDlg, CDialog)
//{{AFX_MSG_MAP(CTSGLDlg)
ON_BN_CLICKED(IDC_XSRK, OnXsrk)
ON_BN_CLICKED(IDC_QDRK, OnQdrk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTSGLDlg message handlers
void CTSGLDlg::OnXsrk()
{
pWndID=GetDlgItem(IDC_XSID);
pWndbookname=GetDlgItem(IDC_XSNAME);
pWndzz=GetDlgItem(IDC_XSZZ);
pWndlb=GetDlgItem(IDC_COMBO);
pWndISBN=GetDlgItem(IDC_xxisbn);
pWndcbs=GetDlgItem(IDC_XSCBS);
pWndcbrq=GetDlgItem(IDC_XSCBRQ);
pWndjg=GetDlgItem(IDC_XSJG);
pWndshul=GetDlgItem(IDC_XSSL);
pWndID->SetWindowText("");
//pWndID->ShowWindow(SW_HIDE);
pWndbookname->SetWindowText("");
pWndzz->SetWindowText("");
pWndlb->SetWindowText("");
pWndISBN->SetWindowText("");
pWndcbs->SetWindowText("");
pWndcbrq->SetWindowText("");
pWndjg->SetWindowText("");
pWndshul->SetWindowText("");
CTime t;
//AfxMessageBox(t.Format("%y-%m-%d"));
}
void CTSGLDlg::OnQdrk()
{
CString bm1,bm2,bm3,strsjwz;
int GCIDFlag,csl;
pWndID=GetDlgItem(IDC_XSID);
pWndbookname=GetDlgItem(IDC_XSNAME);
pWndzz=GetDlgItem(IDC_XSZZ);
pWndlb=GetDlgItem(IDC_COMBO);
pWndISBN=GetDlgItem(IDC_xxisbn);
pWndcbs=GetDlgItem(IDC_XSCBS);
pWndcbrq=GetDlgItem(IDC_XSCBRQ);
pWndjg=GetDlgItem(IDC_XSJG);
pWndshul=GetDlgItem(IDC_XSSL);
pWndID->GetWindowText(bookID);
pWndbookname->GetWindowText(bookname);
pWndzz->GetWindowText(zuozhe);
pWndlb->GetWindowText(leibie);
pWndISBN->GetWindowText(ISBN);
pWndcbs->GetWindowText(chubanshe);
pWndcbrq->GetWindowText(cbriqi);
pWndjg->GetWindowText(jiage);
pWndshul->GetWindowText(shuliang);
if(bookname!="")
{
if(zuozhe!="")
{
if(leibie!="")
{
if(ISBN!="")
{
if(chubanshe!="")
{
if(cbriqi!="")
{
if(jiage!="")
{
if(shuliang!="")
{
bm3="SELECT * FROM bookleibie";
CDataBase db5(bm3);
strsjwz=db5.TSGLADDLB(leibie);
//AfxMessageBox(strsjwz);
bm1="SELECT * FROM bookinfo";
CDataBase db3(bm1);
GCIDFlag=db3.XSbookinfo(bookname,zuozhe,leibie,ISBN,chubanshe,cbriqi,jiage,shuliang,strsjwz);
m_list.InsertItem(CPublic::CountShu,"");
m_list.SetItemText(CPublic::CountShu,2,zuozhe);
m_list.SetItemText(CPublic::CountShu,3,leibie);
m_list.SetItemText(CPublic::CountShu,4,ISBN);
m_list.SetItemText(CPublic::CountShu,7,chubanshe);
m_list.SetItemText(CPublic::CountShu,8,cbriqi);
m_list.SetItemText(CPublic::CountShu,9,jiage);
m_list.SetItemText(CPublic::CountShu,5,shuliang);
m_list.SetItemText(CPublic::CountShu,6,shuliang);
pWndID->SetWindowText("");
pWndbookname->SetWindowText("");
pWndzz->SetWindowText("");
pWndlb->SetWindowText("");
pWndISBN->SetWindowText("");
pWndcbs->SetWindowText("");
pWndcbrq->SetWindowText("");
pWndjg->SetWindowText("");
pWndshul->SetWindowText("");
//m_list.DeleteAllItems();
bm2="SELECT * FROM library";
CDataBase db4(bm2);
csl=atoi(shuliang);
db4.SClibrary(GCIDFlag,csl);
}
else
{
AfxMessageBox("入库数量为空!");
}
}
else
{
AfxMessageBox("价格为空!");
}
}
else
{
AfxMessageBox("出版日期为空!");
}
}
else
{
AfxMessageBox("出版社为空!");
}
}
else
{
AfxMessageBox("ISBN为空!");
}
}
else
{
AfxMessageBox("类别为空!");
}
}
else
{
AfxMessageBox("作者为空!");
}
}
else
{
AfxMessageBox("书名不能为空!");
}
}
BOOL CTSGLDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString strsl,bm6,strZK,strJC;
CLby lby;
_ConnectionPtr m_pConnection;
//m_pConnection.CreateInstance("ADODB.Connection");
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecordset;
//m_pRecordset.CreateInstance(__uuidof(Recordset));
_variant_t vGCID,vSHUM,vZUOZ,vLEIBIE,vISBN,vZONGL,vYUL,vCBS,vCBRQ,vDINJ,vWEIZ,vRUK,vBEIZ,vDZID,vLEIM;
CString GCID,SHUM,ZUOZ,LEIBIE,ISBN,ZONGL,YUL,CBS,CBRQ,DINJ,WEIZ,RUK,BEIZ;
bm6="SELECT * FROM library";
CDataBase db6(bm6);
lby=db6.CXlibrary();
strZK.Format("%d",lby.zk);
strJC.Format("%d",lby.jc);
pWndZK=GetDlgItem(IDC_DQZC);
pWndJC=GetDlgItem(IDC_YJC);
pWndZK->SetWindowText(strZK+"册");
pWndJC->SetWindowText(strJC+"册");
////////////////////////// 打开本地Access库
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sysinfo.mdb";
m_pConnection->Open(strConnect,"","",adModeUnknown);
//AfxMessageBox("连接数据库成功!");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
////////////////查读者数
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset ->Open("SELECT * FROM readerinfo",_variant_t((IDispatch*) m_pConnection,true), //设置活动连接
adOpenDynamic,//游标类型
adLockOptimistic,//锁的类型
adCmdText);
//AfxMessageBox("创建结果集成功!");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
try
{
int countdz=0;
CString CDZ;
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
exit(0);
}
while(!m_pRecordset->adoEOF)
{
//vDZID= m_pRecordset->GetCollect("读者ID");
m_pRecordset->MoveNext();///移到下一条记录
countdz=countdz+1;
}
CDZ.Format("%d",countdz);
pWndDZS=GetDlgItem(IDC_YYDZ);
pWndDZS->SetWindowText(CDZ+"人");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
////////////////查类别,在combo box 显示
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset ->Open("SELECT * FROM bookleibie",_variant_t((IDispatch*) m_pConnection,true), //设置活动连接
adOpenDynamic,//游标类型
adLockOptimistic,//锁的类型
adCmdText);
//AfxMessageBox("创建结果集成功!");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
try
{
int countlb=-1;
CString Clb;
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
exit(0);
}
while(!m_pRecordset->adoEOF)
{
vLEIM= m_pRecordset->GetCollect("类别名称");
if(vLEIM.vt!=VT_NULL)
{
m_combox.AddString((char*)(_bstr_t)vLEIM);
}
m_pRecordset->MoveNext();///移到下一条记录
countlb=countlb+1;
}
Clb.Format("%d",countlb);
pWndDLB=GetDlgItem(IDC_ZLBS);
pWndDLB->SetWindowText(Clb+"类");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
/////////////////////////初始化listcontrol
int count=0;
// TODO: Add extra initialization here
m_list.InsertColumn(0,"馆藏ID");
m_list.InsertColumn(1,"书名");
m_list.InsertColumn(2,"作者");
m_list.InsertColumn(3,"图书类别");
m_list.InsertColumn(4,"ISBN");
m_list.InsertColumn(5,"总藏书量");
m_list.InsertColumn(6,"馆内剩余");
m_list.InsertColumn(7,"出版社");
m_list.InsertColumn(8,"出版日期");
m_list.InsertColumn(9,"定价");
m_list.InsertColumn(10,"书架位置");
m_list.InsertColumn(11,"入库时间");
m_list.InsertColumn(12,"备注");
///////////设置网格
m_list.SetExtendedStyle(LVS_EX_GRIDLINES|
LVS_EX_FULLROWSELECT|
LVS_EX_HEADERDRAGDROP|
LVS_EX_ONECLICKACTIVATE);
m_list.SetColumnWidth(0,70);
m_list.SetColumnWidth(1,200);
m_list.SetColumnWidth(2,100);
m_list.SetColumnWidth(3,120);
m_list.SetColumnWidth(4,90);
m_list.SetColumnWidth(5,70);
m_list.SetColumnWidth(6,70);
m_list.SetColumnWidth(7,150);
m_list.SetColumnWidth(8,100);
m_list.SetColumnWidth(9,70);
m_list.SetColumnWidth(10,100);
m_list.SetColumnWidth(11,100);
m_list.SetColumnWidth(12,100);
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset ->Open("SELECT * FROM bookinfo",_variant_t((IDispatch*) m_pConnection,true), //设置活动连接
adOpenDynamic,//游标类型
adLockOptimistic,//锁的类型
adCmdText);
//AfxMessageBox("创建结果集成功!");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
/////////获取值
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
exit(0);
}
while(!m_pRecordset->adoEOF)
{
vGCID= m_pRecordset->GetCollect("馆藏ID");///取得username字段的值
GCID=(char*)(_bstr_t)vGCID;
m_list.InsertItem(count,GCID);
vSHUM= m_pRecordset->GetCollect("书名");
SHUM=(char*)(_bstr_t)vSHUM;
m_list.SetItemText(count,1,SHUM);
vZUOZ= m_pRecordset->GetCollect("作者");
if(vZUOZ.vt==VT_NULL)
{
ZUOZ=_T("");
m_list.SetItemText(count,2,"");
}
else
{
ZUOZ=(char*)(_bstr_t)vZUOZ;
m_list.SetItemText(count,2,ZUOZ);
}
vLEIBIE= m_pRecordset->GetCollect("图书类别");
if(vLEIBIE.vt==VT_NULL)
{
LEIBIE=_T("");
m_list.SetItemText(count,3,"");
}
else
{
LEIBIE=(char*)(_bstr_t)vLEIBIE;
m_list.SetItemText(count,3,LEIBIE);
}
vISBN= m_pRecordset->GetCollect("ISBN");
if(vISBN.vt==VT_NULL)
{
ISBN=_T("");
m_list.SetItemText(count,4,"");
}
else
{
ISBN=(char*)(_bstr_t)vISBN;
m_list.SetItemText(count,4,ISBN);
}
vZONGL= m_pRecordset->GetCollect("总藏书量");
if(vZONGL.vt==VT_NULL)
{
ZONGL=_T("");
m_list.SetItemText(count,5,"");
}
else
{
ZONGL=(char*)(_bstr_t)vZONGL;
m_list.SetItemText(count,5,ZONGL);
CPublic::CountShu=CPublic::CountShu+atoi(ZONGL);
}
vYUL= m_pRecordset->GetCollect("馆内剩余");
if(vYUL.vt==VT_NULL)
{
YUL=_T("");
m_list.SetItemText(count,6,"");
}
else
{
YUL=(char*)(_bstr_t)vYUL;
m_list.SetItemText(count,6,YUL);
}
vCBS= m_pRecordset->GetCollect("出版社");
if(vCBS.vt==VT_NULL)
{
CBS=_T("");
m_list.SetItemText(count,7,"");
}
else
{
CBS=(char*)(_bstr_t)vCBS;
m_list.SetItemText(count,7,CBS);
}
vCBRQ= m_pRecordset->GetCollect("出版日期");
if(vCBRQ.vt==VT_NULL)
{
CBRQ=_T("");
m_list.SetItemText(count,8,"");
}
else
{
CBRQ=(char*)(_bstr_t)vCBRQ;
m_list.SetItemText(count,8,CBRQ);
}
vDINJ= m_pRecordset->GetCollect("定价");
if(vDINJ.vt==VT_NULL)
{
DINJ=_T("");
m_list.SetItemText(count,9,"");
}
else
{
DINJ=(char*)(_bstr_t)vDINJ;
m_list.SetItemText(count,9,DINJ);
}
vWEIZ= m_pRecordset->GetCollect("书架位置");
if(vWEIZ.vt==VT_NULL)
{
WEIZ=_T("");
m_list.SetItemText(count,10,"");
}
else
{
WEIZ=(char*)(_bstr_t)vWEIZ;
m_list.SetItemText(count,10,WEIZ);
}
vRUK= m_pRecordset->GetCollect("入库时间");
if(vRUK.vt==VT_NULL)
{
RUK=_T("");
m_list.SetItemText(count,11,"");
}
else
{
RUK=(char*)(_bstr_t)vRUK;
m_list.SetItemText(count,11,RUK);
}
vBEIZ= m_pRecordset->GetCollect("备注");
if(vBEIZ.vt==VT_NULL)
{
BEIZ=_T("");
m_list.SetItemText(count,12,"");
}
else
{
BEIZ=(char*)(_bstr_t)vBEIZ;
m_list.SetItemText(count,12,BEIZ);
}
m_pRecordset->MoveNext();///移到下一条记录
count=count+1;
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->Close();
m_pRecordset = NULL;
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
strsl.Format("%d",CPublic::CountShu);
pWndZCSL=GetDlgItem(IDC_ZCSL);
pWndZCSL->SetWindowText(strsl+"册");
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -