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

📄 tsgldlg.cpp

📁 一个用VC++6.0做的图书馆管理系统,界面精致,功能详细
💻 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 + -