📄 currentborrowdlg.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 + -