www.pudn.com > chenjing.rar > CheckBorrowDlg.cpp


// CheckBorrowDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "Library.h" 
#include "CheckBorrowDlg.h" 
#include "BorrowSet.h" 
#include "BookSet.h" 
#include "ProofSet.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CCheckBorrowDlg dialog 
 
 
CCheckBorrowDlg::CCheckBorrowDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CCheckBorrowDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CCheckBorrowDlg) 
	m_strProofID = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void CCheckBorrowDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CCheckBorrowDlg) 
	DDX_Control(pDX, IDC_LIST_RESULT, m_ctrList); 
	DDX_Text(pDX, IDC_EDIT_PROOF, m_strProofID); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CCheckBorrowDlg, CDialog) 
	//{{AFX_MSG_MAP(CCheckBorrowDlg) 
	ON_BN_CLICKED(IDC_BUTTON_REQUERY, OnButtonRequery) 
	ON_BN_CLICKED(IDC_BUTTON_BACK, OnButtonBack) 
	ON_WM_CLOSE() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CCheckBorrowDlg message handlers 
 
BOOL CCheckBorrowDlg::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	// TODO: Add extra initialization here 
	m_ctrList.InsertColumn(0,"借阅证号"); 
	m_ctrList.InsertColumn(1,"姓名"); 
	m_ctrList.InsertColumn(2,"性别"); 
	m_ctrList.InsertColumn(3,"书号"); 
	m_ctrList.InsertColumn(4,"书籍名称"); 
	m_ctrList.InsertColumn(5,"借书日期"); 
 
	RECT rect; 
	m_ctrList.GetWindowRect(&rect); 
	int Width=rect.right-rect.left; 
	m_ctrList.SetColumnWidth(0,Width/6); 
	m_ctrList.SetColumnWidth(1,Width/6); 
	m_ctrList.SetColumnWidth(2,Width/6); 
	m_ctrList.SetColumnWidth(3,Width/6); 
	m_ctrList.SetColumnWidth(4,Width/6); 
	m_ctrList.SetColumnWidth(5,Width/6); 
	m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT); 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void CCheckBorrowDlg::OnButtonRequery()  
{ 
		//刷新显示 
	UpdateData(); 
	if(!m_database.IsOpen()) 
	{ 
		if(!m_database.Open(_T("Library"))) 
		{ 
			MessageBox("无法打开数据库!","借书查询"); 
			return; 
		} 
	} 
	CString strSQL,m_strName,m_strBName,m_strBookNo,m_strSex; 
	char buf[50]; 
	CDBVariant varValue; 
	//处理借阅证信息 
	CProofSet *m_pProof=new CProofSet(&m_database); 
	strSQL.Format("select * from Proof_Info where Proof_ID='%s'",m_strProofID); 
	m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); 
	if(m_pProof->GetRecordCount()==0) 
	{ 
		MessageBox("没有此人的信息!","借书查询"); 
		m_pProof->Close(); 
		m_database.Close(); 
		return; 
	} 
	m_pProof->GetFieldValue(1,varValue); 
	m_strName=varValue.m_pstring->GetBuffer(1); 
	m_pProof->GetFieldValue(2,varValue); 
	m_strSex=varValue.m_pstring->GetBuffer(1); 
	m_pProof->Close(); 
 
	//处理表格 
	strSQL.Format("select * from Borrow_Info where Proof_ID='%s'",m_strProofID); 
	CBorrowSet *m_pBorrow=new CBorrowSet(&m_database); 
	m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); 
	if(m_pBorrow->GetRecordCount()==0) 
	{ 
		MessageBox("没有此人的借书信息!","借书查询",MB_OK|MB_ICONINFORMATION); 
		m_pBorrow->Close(); 
		m_database.Close(); 
		return; 
	} 
	m_ctrList.DeleteAllItems(); 
	m_pBorrow->MoveFirst(); 
	int i=0; 
	CBookSet *m_pBook=new CBookSet(&m_database); 
 
	while(!m_pBorrow->IsEOF()) 
	{ 
		m_ctrList.InsertItem(i,buf); 
		m_ctrList.SetItemText(i,0,m_strProofID); 
		 
		m_ctrList.SetItemText(i,1,m_strName); 
		m_ctrList.SetItemText(i,2,m_strSex); 
		m_pBorrow->GetFieldValue(2,varValue); 
		m_strBookNo=varValue.m_pstring->GetBuffer(1); 
		m_ctrList.SetItemText(i,3,m_strBookNo); 
		m_pBorrow->GetFieldValue(3,varValue); 
		sprintf(buf,"%d-%d-%d %d:%d:%d",varValue.m_pdate->year, 
			varValue.m_pdate->month,varValue.m_pdate->day, 
			varValue.m_pdate->hour,varValue.m_pdate->minute, 
			varValue.m_pdate->second); 
		m_ctrList.SetItemText(i,5,buf); 
		 
		strSQL.Format("select * from Book_Info where Book_ID='%s'",m_strBookNo); 
		m_pBook->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); 
		m_pBook->GetFieldValue(1,varValue); 
		m_ctrList.SetItemText(i,4,varValue.m_pstring->GetBuffer(1)); 
		m_pBook->Close(); 
		i++; 
		m_pBorrow->MoveNext(); 
	} 
	m_pBorrow->Close(); 
	m_database.Close(); 
} 
 
 
void CCheckBorrowDlg::OnButtonBack()  
{ 
	if(m_database.IsOpen()) 
	{ 
		m_database.Close(); 
	} 
	OnOK(); 
} 
 
void CCheckBorrowDlg::OnClose()  
{ 
	OnButtonBack(); 
}