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

📄 currentborrowdlg.cpp

📁 mysql+visual C++编写的mini图书馆数据库管理系统
💻 CPP
字号:
// CurrentBorrowDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Library.h"
#include "BookRS1.h"
#include "BorrowRS.h"
#include "CurrentBorrowDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCurrentBorrowDlg dialog


CCurrentBorrowDlg::CCurrentBorrowDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCurrentBorrowDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCurrentBorrowDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CCurrentBorrowDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCurrentBorrowDlg)
	DDX_Control(pDX, IDC_LIST_RESULT, m_listResult);
	DDX_Control(pDX, IDC_LIST_DETAIL, m_listDetail);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCurrentBorrowDlg, CDialog)
	//{{AFX_MSG_MAP(CCurrentBorrowDlg)
	ON_BN_CLICKED(IDC_QUERY, OnQuery)
	ON_LBN_SELCHANGE(IDC_LIST_RESULT, OnSelchangeListResult)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCurrentBorrowDlg message handlers

void CCurrentBorrowDlg::OnQuery() 
{
	CString s;
	CString str;
	int i=0;
	// TODO: Add your control notification handler code here
	UpdateData();//将编辑框内容更新到与此绑定的成员变量如m_strKeyWord中
	m_listResult.ResetContent();//清空结果列表的内容(如果有)
	if (!m_bookSet.IsOpen()){
		m_bookSet.Open();
	}
	if (!m_borrowSet.IsOpen()){
		m_borrowSet.Open();
	}
	//设置查询条件,根据书名关键字进行模糊查询
	if(GlobalCardNum=="")
	{
		AfxMessageBox("请先输入您的借书卡号!");
		CDialog::OnOK(); //调用基类CDialog的OnOK函数来关闭对话框
		return;
	}
	m_borrowSet.m_strFilter.Format("cno='%s'",GlobalCardNum);
	m_borrowSet.Requery();
	while(!m_borrowSet.IsEOF())
	{
		if(i!=0)
		{
			s+=" OR ";
		}
        str.Format("ISBN='%s'",m_borrowSet.m_ISBN);
        s+=str;
		i++;
		m_borrowSet.MoveNext();
	}
	if(i==0)
		s="ISBN='9999999'";
	m_bookSet.m_strFilter=s;
	m_bookSet.m_strSort="title";  //按书名升序排序
	m_bookSet.Requery();
	while (!m_bookSet.IsEOF()){	
		m_listResult.AddString(m_bookSet.m_title);
		m_bookSet.MoveNext();
	}	
}

void CCurrentBorrowDlg::OnSelchangeListResult() 
{
	// TODO: Add your control notification handler code here
	//用数据aColCaption来存放所有列标题信息,与数据库中的次序一致
	CString  aColCaption[9];
	aColCaption[0]="书号:  ";
	aColCaption[1]="类别:  ";
	aColCaption[2]="书名:  ";
	aColCaption[3]="出版社:  ";
	aColCaption[4]="作者:  ";
	aColCaption[5]="出版日期:  ";
	aColCaption[6]="价格:  ";
	aColCaption[7]="藏书总量:  ";
	aColCaption[8]="当前库存量:  ";
	
	m_listDetail.ResetContent();//清空书目详细信息列表中的原有内容
	int curSel;//记录集中的当前位置
	CString strDetail;//内容
	CString  strLine;//列表中的一行,行=标题:+内容
	curSel=	m_listResult.GetCurSel();//取得结果列表中当前的选中位置
	m_bookSet.SetAbsolutePosition(curSel+1);	//将记录集指针移到该位置
	for (int i=0;i<m_bookSet.m_nFields;i++){
		m_bookSet.GetFieldValue(i,strDetail);//从记录集中取出第i列的值,存在strDetail中
		strLine.Empty();// 清空原有的内容
		strLine+=aColCaption[i];//增加标题
		strLine+=strDetail;//增加内容		
		m_listDetail.AddString(strLine);//把该行添加到书目详细信息的列表中		
	}	
}

⌨️ 快捷键说明

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