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

📄 hsgldlg.cpp

📁 图书馆信息管理系统
💻 CPP
字号:
// HsglDlg.cpp : implementation file
//

#include "stdafx.h"
#include "GG.h"
#include "HsglDlg.h"
#include "ADOConn.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHsglDlg dialog


CHsglDlg::CHsglDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CHsglDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CHsglDlg)
	m_XM = FALSE;
	m_SM = FALSE;
	m_TSMC = _T("");
	m_DZXM = _T("");
	//}}AFX_DATA_INIT
}


void CHsglDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CHsglDlg)
	DDX_Control(pDX, IDC_COMBO1, m_CDZXM);
	DDX_Control(pDX, IDC_LIST_HSGL, m_list_hsgl);
	DDX_Check(pDX, IDC_CHECK1, m_XM);
	DDX_Check(pDX, IDC_CHECK2, m_SM);
	DDX_Text(pDX, IDC_EDIT2, m_TSMC);
	DDX_CBString(pDX, IDC_COMBO1, m_DZXM);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CHsglDlg, CDialog)
	//{{AFX_MSG_MAP(CHsglDlg)
	ON_BN_CLICKED(IDC_BUTTON_QUERY, OnButtonQuery)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHsglDlg message handlers

BOOL CHsglDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	i=0;
	
	// TODO: Add extra initialization here
	m_list_hsgl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
	m_list_hsgl.SetBkColor(RGB(247,247,255));
	m_list_hsgl.SetTextColor(RGB(0,0,255));
	m_list_hsgl.SetTextBkColor(RGB(247,247,255));
	m_list_hsgl.InsertColumn(0, "读者编号", LVCFMT_LEFT, 80);
	m_list_hsgl.InsertColumn(1, "读者", LVCFMT_LEFT, 80);
	m_list_hsgl.InsertColumn(2, "书籍编号", LVCFMT_LEFT, 80);
	m_list_hsgl.InsertColumn(3, "书名", LVCFMT_LEFT, 80);
	m_list_hsgl.InsertColumn(4, "出借日期", LVCFMT_LEFT, 180);
	//////////////////////////////////////////////////////////////////


	ShowDate();
	ShowDlg();
	
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CHsglDlg::ShowDate()
{
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	CString str1,str2,strSql;
	try
		{	
		if (i)
		{
			if(m_SM & m_XM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
				str2="AND 书籍名称=";
				strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
			}
			else if(m_SM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
				strSql=str1+"'"+m_TSMC+"'";
			}
			else if(m_XM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
				strSql=str1+"'"+m_DZXM+"'";
			}
			else
			{
			//str1="SELECT * FROM 借阅信息";
			MessageBox("请输入查询条件!");
			}
		}
		else
			strSql="SELECT * FROM 借阅信息";
	//	MessageBox(strSql);
		
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
		}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	m_list_hsgl.DeleteAllItems();
	
	
	///////////////////////////////////////////////
	if(!m_AdoConn.m_pRecordset->BOF)
		m_AdoConn.m_pRecordset->MoveFirst();
	else
	{
		AfxMessageBox("表内数据为空");
		return ;
	}

	CString s;
	int iIndex=0;
	m_AdoConn.m_pRecordset->MoveFirst();
	while(!m_AdoConn.m_pRecordset->adoEOF)
	{
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者编号"));	
		}
		catch(...)
		{
			s="      ";
		}
		m_list_hsgl.InsertItem(iIndex,s,0);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,1,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍编号"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,2,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,3,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("出借日期"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,4,s);
		
		
		UpdateData(FALSE);
		m_AdoConn.m_pRecordset->MoveNext();
		iIndex++;
		

}
	m_AdoConn.ExitConnect();
}

void CHsglDlg::ShowDlg()
{
	ADOConn m_AdoConn1;
	m_AdoConn1.OnInitADOConn();
	CString s1;
    
	m_AdoConn1.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		
		CString strSql;
		strSql.Format("SELECT * FROM 读者信息 WHERE 已借书数量>0");
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn1.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn1.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	
	///////////////////////////////////////////////
	if(!m_AdoConn1.m_pRecordset->BOF)
		m_AdoConn1.m_pRecordset->MoveFirst();
	else
	{
		AfxMessageBox("表内数据为空");
		return ;
	}


	
	m_AdoConn1.m_pRecordset->MoveFirst();
	while(!m_AdoConn1.m_pRecordset->adoEOF)
	{
		try
		{
			s1=(LPCSTR)_bstr_t(m_AdoConn1.m_pRecordset->GetCollect("读者姓名"));	
		}
		catch(...)
		{
			s1="      ";
		}
		m_CDZXM.AddString(s1);
		
		
		UpdateData(false);
		m_AdoConn1.m_pRecordset->MoveNext();
	}
	m_AdoConn1.ExitConnect();
}

void CHsglDlg::OnButtonQuery() 
{
	// TODO: Add your control notification handler code here
	i=1;
	UpdateData(true);
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	CString str1,str2,strSql;
	try
		{	
		
		if(m_SM & m_XM)
		{
			str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
			str2="AND 书籍名称=";
			strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
		}
		else if(m_SM)
		{
			str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
			strSql=str1+"'"+m_TSMC+"'";
		}
		else if(m_XM)
		{
			str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
				strSql=str1+"'"+m_DZXM+"'";
		}
		else
		{
			//str1="SELECT * FROM 借阅信息";
			MessageBox("请输入查询条件!");
			return;
		}
		MessageBox(strSql);
		
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
		}
	catch(_com_error *e)
		{
		AfxMessageBox(e->ErrorMessage());
		}  
	m_list_hsgl.DeleteAllItems();
	
	
	///////////////////////////////////////////////
	if(!m_AdoConn.m_pRecordset->BOF)
		m_AdoConn.m_pRecordset->MoveFirst();
	else
	{
		AfxMessageBox("表内数据为空");
		return ;
	}

	CString s;
	int iIndex=0;
	m_AdoConn.m_pRecordset->MoveFirst();
	while(!m_AdoConn.m_pRecordset->adoEOF)
	{
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者编号"));	
		}
		catch(...)
		{
			s="      ";
		}
		m_list_hsgl.InsertItem(iIndex,s,0);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,1,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍编号"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,2,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,3,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("出借日期"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_hsgl.SetItemText(iIndex,4,s);
		
		
		UpdateData(FALSE);
		m_AdoConn.m_pRecordset->MoveNext();
		iIndex++;
		

}
	m_AdoConn.ExitConnect();
	

	
}

void CHsglDlg::OnOK() 
{
	// TODO: Add extra validation here
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	CString str1,str2,strSql;
	try
		{	
		if (i)
		{
			if(m_SM & m_XM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
				str2="AND 书籍名称=";
				strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
			}
			else if(m_SM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
				strSql=str1+"'"+m_TSMC+"'";
			}
			else if(m_XM)
			{
				str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
				strSql=str1+"'"+m_DZXM+"'";
			}
			else
			{
			//str1="SELECT * FROM 借阅信息";
			MessageBox("请输入查询条件!");
			}
		}
		else
			strSql="SELECT * FROM 借阅信息";
	//	MessageBox(strSql);
		
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
		}
	catch(_com_error *e)
		{
			AfxMessageBox(e->ErrorMessage());
		}  

	POSITION pos=m_list_hsgl.GetFirstSelectedItemPosition();
	if(pos==NULL)
		return;
	int nItem=m_list_hsgl.GetNextSelectedItem(pos);
	m_AdoConn.m_pRecordset->Move(nItem);
	CString s1,s2;

	try
		{
			s1=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
		}
		catch(...)
		{
			s1="      ";
		}
	try
		{
			s2=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
		}
		catch(...)
		{
			s2="      ";
		}
		//MessageBox(s1+s2);
	m_AdoConn.m_pRecordset->Delete(adAffectCurrent);
	m_AdoConn.m_pRecordset->Update();
	m_AdoConn.ExitConnect();
	//MessageBox("1111");
	////////////////////////////////////////////////
	ADOConn m_AdoConn1;
	m_AdoConn1.OnInitADOConn();
	m_AdoConn1.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		strSql=("SELECT * FROM 读者信息 WHERE 读者姓名=");
		strSql=strSql+"'"+s1+"'";
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn1.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn1.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
		
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	CString n;
	int m;
	n=(LPCSTR)_bstr_t(m_AdoConn1.m_pRecordset->GetCollect("已借书数量"));
	m=atoi(n);
	m=m-1;
	n.Format("%d",m);
	
	m_AdoConn1.m_pRecordset->PutCollect("已借书数量", _variant_t(n));
	
	m_AdoConn1.m_pRecordset->Update();
	m_AdoConn1.ExitConnect();
	//MessageBox("22222");
	///////////////////////////////////////////////////////////////
	ADOConn m_AdoConn2;
	m_AdoConn2.OnInitADOConn();
	m_AdoConn2.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		strSql=("SELECT * FROM 书籍信息 WHERE 书名=");
		strSql=strSql+"'"+s2+"'";
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn2.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn2.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  


	m_AdoConn2.m_pRecordset->PutCollect("是否被借出", _variant_t("否"));
	m_AdoConn2.m_pRecordset->Update();
	m_AdoConn2.ExitConnect();
	ShowDate();
	ShowDlg();
	MessageBox("还书成功!");
	


}

⌨️ 快捷键说明

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