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

📄 bookmodidlg.cpp

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

#include "stdafx.h"
#include "BookLib.h"
#include "BookModiDlg.h"
#include "ProviderAddDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBookModiDlg dialog


CBookModiDlg::CBookModiDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBookModiDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBookModiDlg)
	m_author = _T("");
	m_name = _T("");
	m_price = 0.0f;
	m_remark = _T("");
	m_ver = _T("");
	m_prov = -1;
	m_pub = _T("");
	//}}AFX_DATA_INIT
}


void CBookModiDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBookModiDlg)
	DDX_Control(pDX, IDC_CMB_PROV, m_cmb_prov);
	DDX_Text(pDX, IDC_EDIT_AUTHOR, m_author);
	DDV_MaxChars(pDX, m_author, 20);
	DDX_Text(pDX, IDC_EDIT_NAME, m_name);
	DDV_MaxChars(pDX, m_name, 50);
	DDX_Text(pDX, IDC_EDIT_PRICE, m_price);
	DDX_Text(pDX, IDC_EDIT_REMARK, m_remark);
	DDV_MaxChars(pDX, m_remark, 100);
	DDX_Text(pDX, IDC_EDIT_VER, m_ver);
	DDV_MaxChars(pDX, m_ver, 20);
	DDX_CBIndex(pDX, IDC_CMB_PROV, m_prov);
	DDX_CBString(pDX, IDC_CMB_PUB, m_pub);
	DDV_MaxChars(pDX, m_pub, 30);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBookModiDlg, CDialog)
	//{{AFX_MSG_MAP(CBookModiDlg)
	ON_BN_CLICKED(IDC_BTN_MODI, OnBtnModi)
	ON_BN_CLICKED(IDC_BTN_NEW_PROV, OnBtnNewProv)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBookModiDlg message handlers

void CBookModiDlg::OnBtnModi() 
{
	if(!UpdateData()) return;
	if(m_name.IsEmpty())
	{
		MessageBox("请输入书籍名称!","错误");
		return;
	}
	if(m_author.IsEmpty())
	{
		MessageBox("请输入作者!","错误");
		return;
	}
	if(m_pub.IsEmpty())
	{
		MessageBox("请输入或选择出版社!","错误");
		return;
	}
	if(m_price<0)
	{
		MessageBox("价格输入不正确!","错误");
		return;
	}
	if(m_cmb_prov.GetCurSel()==-1)
	{
		MessageBox("请选择供应商!","错误");
		return;
	}

	CString sql,strProv,strProvid;
	m_cmb_prov.GetLBText(m_cmb_prov.GetCurSel(),strProv);
	sql.Format("select providerID from 供应商表 where 名称='%s'",strProv);
	g_adoDB.ExecuteQueryValue(sql,strProvid);

	sql.Format("Update 书籍信息表 set 书名='%s',作者='%s',出版社='%s',版本='%s'"
		",价格=%.2f,providerID=%d,备注='%s'"
		" where ISBN='%s'"
		,m_name,m_author,m_pub,m_ver,m_price,atoi(strProvid),m_remark,strISBN);
	g_adoDB.Execute(sql);

	OnCancel();		
}

BOOL CBookModiDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	InitCmb();

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

void CBookModiDlg::InitCmb()
{
	m_cmb_prov.ResetContent();

	CDStrs provFields;
	int idx;
	g_adoDB.ExecuteQuery("Select 名称 from 供应商表",provFields);
	for(int i=0;i<provFields.size();i++)
	{
		CStrs strs=provFields[i];
		m_cmb_prov.AddString(strs[0]);
		if(strs[0]==strProv) idx=i;
	}
	m_cmb_prov.SetCurSel(idx);
	
}

void CBookModiDlg::OnBtnNewProv() 
{
	CProviderAddDlg dlg;
	dlg.DoModal();
	InitCmb();
}

⌨️ 快捷键说明

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