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

📄 recordadddlg.cpp

📁 自己编写的迷你图书馆的完整程序.VC6MFC编写的,Windows界面.数据采用了Sqlserver2000.压缩包中已包括了数据库.先附加数据库再运行.
💻 CPP
字号:
// RecordAddDlg.cpp : implementation file
//

#include "stdafx.h"
#include "BookLib.h"
#include "RecordAddDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CRecordAddDlg dialog


CRecordAddDlg::CRecordAddDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRecordAddDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRecordAddDlg)
	m_dtReturn = 0;
	m_dtBorrow = 0;
	m_remark = _T("");
	m_bookid = -1;
	m_readerid = -1;
	m_status = -1;
	//}}AFX_DATA_INIT
}


void CRecordAddDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRecordAddDlg)
	DDX_Control(pDX, IDC_CMB_STATUS, m_cmb_status);
	DDX_Control(pDX, IDC_CMB_READERID, m_cmb_readerid);
	DDX_Control(pDX, IDC_CMB_BOOKID, m_cmb_bookid);
	DDX_DateTimeCtrl(pDX, IDC_DTP_RETURN, m_dtReturn);
	DDX_DateTimeCtrl(pDX, IDC_DTP_BORROW, m_dtBorrow);
	DDX_Text(pDX, IDC_EDIT_REMARK, m_remark);
	DDV_MaxChars(pDX, m_remark, 100);
	DDX_CBIndex(pDX, IDC_CMB_BOOKID, m_bookid);
	DDX_CBIndex(pDX, IDC_CMB_READERID, m_readerid);
	DDX_CBIndex(pDX, IDC_CMB_STATUS, m_status);
	//}}AFX_DATA_MAP
}

void CRecordAddDlg::InitCmbReaderid()
{
	CDStrs ridFields;
	g_adoDB.ExecuteQuery("Select readerID from 读者表",ridFields);
	m_cmb_readerid.ResetContent();
	for(int i=0;i<ridFields.size();i++)
	{
		CStrs strs=ridFields[i];
		m_cmb_readerid.AddString(strs[0]);
	}
}

void CRecordAddDlg::InitCmbBookid()
{
	CDStrs bidFields;
	g_adoDB.ExecuteQuery("Select bookID from 书籍编号表",bidFields);
	m_cmb_bookid.ResetContent();
	for(int i=0;i<bidFields.size();i++)
	{
		CStrs strs=bidFields[i];
		m_cmb_bookid.AddString(strs[0]);
	}
}


BEGIN_MESSAGE_MAP(CRecordAddDlg, CDialog)
	//{{AFX_MSG_MAP(CRecordAddDlg)
	ON_BN_CLICKED(IDC_BTN_ADD, OnBtnAdd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRecordAddDlg message handlers

BOOL CRecordAddDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	InitCmbBookid();
	InitCmbReaderid();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CRecordAddDlg::OnBtnAdd() 
{
	if(!UpdateData()) return;
	if(m_bookid==-1)
	{
		MessageBox("请选择书籍编号!","提示");
		return;
	}
	if(m_readerid==1)
	{
		MessageBox("请选择读者编号!","提示");
		return;
	}
	if(m_status==-1)
	{
		MessageBox("请选择状态!","提示");
		return;
	}

	CString strBookid,strReaderid;
	m_cmb_bookid.GetLBText(m_cmb_bookid.GetCurSel(),strBookid);
	m_cmb_readerid.GetLBText(m_cmb_readerid.GetCurSel(),strReaderid);

	CString sql,strID;
	g_adoDB.ExecuteQueryValue("Select max(recordID) from 借阅记录表",strID);
	int newID=atoi(strID)+1;

	CString strBorrow=m_dtBorrow.Format("%Y-%m-%d");
	CString strReturn=m_dtReturn.Format("%Y-%m-%d");

	CString status;
	m_cmb_status.GetLBText(m_cmb_status.GetCurSel(),status);
	if(status=="借出")
	{
		sql.Format("Insert into 借阅记录表(recordID,bookID,readerID,起始日期,状态,备注) "
			" values(%d,'%s',%d,'%s','%s','%s')"
			,newID,strBookid,atoi(strReaderid),strBorrow,status,m_remark);
		g_adoDB.Execute(sql);
	}else if(status=="归还")
	{
		sql.Format("Insert into 借阅记录表 values(%d,'%s',%d,'%s','%s','%s','%s')"
			,newID,strBookid,atoi(strReaderid),strBorrow,strReturn,status,m_remark);
		g_adoDB.Execute(sql);
	}
	
	OnCancel();
}

⌨️ 快捷键说明

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