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

📄 buydlg.cpp

📁 书店销售管理系统 用c++写的
💻 CPP
字号:
// BuyDlg.cpp : implementation file
//

#include "stdafx.h"
#include "resource.h"
#include "BuyDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBuyDlg dialog
static int i = 0;

CBuyDlg::CBuyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBuyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBuyDlg)
	m_BAuthor = _T("");
	m_BClass = 0;
	m_BISBN = _T("");
	m_BName = _T("");
	m_BNum = 1;
	m_BPress = _T("");
	m_BPressdate = _T("");
	m_BPrice = 1;
	m_BSedit = _T("");
	m_BVersion = 1;
	m_BVolume = 1;
	m_Price = 0;
	m_BPage = 0;
	//}}AFX_DATA_INIT
}


void CBuyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBuyDlg)
	DDX_Control(pDX, IDC_BUYLIST, m_BuyList);
	DDX_Text(pDX, IDC_BUYAUTHOR, m_BAuthor);
	DDX_CBIndex(pDX, IDC_BUYCLASS, m_BClass);
	DDX_Text(pDX, IDC_BUYISBN, m_BISBN);
	DDX_Text(pDX, IDC_BUYNAME, m_BName);
	DDX_Text(pDX, IDC_BUYNUM, m_BNum);
	DDX_Text(pDX, IDC_BUYPRESS, m_BPress);
	DDX_Text(pDX, IDC_BUYPRESSDATE, m_BPressdate);
	DDX_Text(pDX, IDC_BUYPRICE, m_BPrice);
	DDX_Text(pDX, IDC_BUYSEARCHEDIT, m_BSedit);
	DDX_Text(pDX, IDC_BUYVERSION, m_BVersion);
	DDV_MinMaxInt(pDX, m_BVersion, 1, 20);
	DDX_Text(pDX, IDC_BUYVOLUME, m_BVolume);
	DDV_MinMaxInt(pDX, m_BVolume, 1, 200);
	DDX_Text(pDX, IDC_PRICE, m_Price);
	DDX_Text(pDX, IDC_BUYPAGES, m_BPage);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBuyDlg, CDialog)
	//{{AFX_MSG_MAP(CBuyDlg)
	ON_BN_CLICKED(IDC_BUYSAVECONTINUE, OnBuysavecontinue)
	ON_BN_CLICKED(IDC_BUYDELETE, OnBuydelete)
	ON_BN_CLICKED(IDC_BUYSEARCH, OnBuysearch)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBuyDlg message handlers
BOOL CBuyDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	
	i = 0;
	bookclass.push_back("文学");
	bookclass.push_back("英语");
	bookclass.push_back("数学");
	bookclass.push_back("物理");
	bookclass.push_back("化学");
	bookclass.push_back("计算机");
	bookclass.push_back("生物");
	bookclass.push_back("建筑");
	bookclass.push_back("机械");
	bookclass.push_back("农业");
	bookclass.push_back("医学");
	bookclass.push_back("经济");
	bookclass.push_back("历史");
	bookclass.push_back("政治");
	bookclass.push_back("体育");
	bookclass.push_back("军事");
	bookclass.push_back("音乐");
	bookclass.push_back("娱乐");
	bookclass.push_back("杂志");
	bookclass.push_back("其他");

	m_BuyList.SetTextColor(RGB (0, 0, 0));
	m_BuyList.SetBkColor(RGB(255,255,255));
	m_BuyList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);	

	m_BuyList.InsertColumn(0,_T("ISBN"),LVCFMT_CENTER,100);
	m_BuyList.InsertColumn(1,_T("书名"),LVCFMT_CENTER,100);
	m_BuyList.InsertColumn(2,_T("作者"),LVCFMT_CENTER,80);
	m_BuyList.InsertColumn(3,_T("类别"),LVCFMT_CENTER,80);
	m_BuyList.InsertColumn(4,_T("出版社"),LVCFMT_CENTER,100);
	m_BuyList.InsertColumn(5,_T("出版日期"),LVCFMT_CENTER,100);
	m_BuyList.InsertColumn(6,_T("版本"),LVCFMT_CENTER,60);
	m_BuyList.InsertColumn(7,_T("册数"),LVCFMT_CENTER,60);
	m_BuyList.InsertColumn(8,_T("页数"),LVCFMT_CENTER,60);
	m_BuyList.InsertColumn(9,_T("进价"),LVCFMT_CENTER,60);
	m_BuyList.InsertColumn(10,_T("定价"),LVCFMT_CENTER,60);

	return TRUE;
}

//////////////////////////////////////////////////////////////
//void CBuyDlg::OnBuysavecontinue()
//////////////////////////////////////////////////////////////
void CBuyDlg::OnBuysavecontinue() 
{
	this->UpdateData(true);
	if(m_BISBN !="")								//书号不为空
	{
		if(m_BName != "")							//书名不为空
		{
			if(m_BAuthor != "")						//作者不为空
			{
				if(m_BPrice>0)						//进价
				{
					if(m_Price>0)
					{
						if(m_BPage>0)				//页数
						{
							if(m_BVersion>=1)
							{
								if(m_BVolume>=1)
								{
									Buy b;
									b.isbn = m_BISBN;
									b.name = m_BName;
									b.author = m_BAuthor;
									b.classes = bookclass[m_BClass];
									b.press = m_BPress;
									b.pressdate = m_BPressdate;
									b.version = m_BVersion;
									b.volume = m_BVolume;
									b.buyprice = m_BPrice;
									b.price = m_Price;
									b.num = m_BNum;
									b.pages = m_BPage;
									b.empid = "1000";
									
									buys.push_back(b);
									
									CString version,volume,page,price,buyprice,num;
									
									version.Format("%d",m_BVersion);
									volume.Format("%d",m_BVolume);
									page.Format("%d",m_BPage);
									buyprice.Format("%d",m_BPrice);
									price.Format("%d",m_Price);
									num.Format("%d",m_BNum);
									
									m_BuyList.InsertItem(i,b.isbn);
									m_BuyList.SetItemText(i,1,b.name);
									m_BuyList.SetItemText(i,2,b.author);
									m_BuyList.SetItemText(i,3,b.classes);
									m_BuyList.SetItemText(i,4,b.press);
									m_BuyList.SetItemText(i,5,b.pressdate);
									m_BuyList.SetItemText(i,6,version);
									m_BuyList.SetItemText(i,7,volume);
									m_BuyList.SetItemText(i,8,page);
									m_BuyList.SetItemText(i,9,buyprice);
									m_BuyList.SetItemText(i,10,price);
									i++;
									
									m_BISBN = "";
									m_BName = "";
									m_BAuthor = "";
									m_BPress = "";
									m_BPressdate = "";
									m_BVersion = 1;
									m_BVolume = 1;
									m_BPrice = 1;
									m_BNum = 1;
									m_Price = 1;
									this->UpdateData(false);
								}
								else
									AfxMessageBox("册数不能小于 1");
							}
							else
								AfxMessageBox("版本不能小于 1");
						}
						else
							AfxMessageBox("页数不能小于 1");
					}
					else
						AfxMessageBox("定价不能小于 1");
				}
				else
					AfxMessageBox("进价不能小于一");
			}
			else
				AfxMessageBox("作者不能为空");
		}
		else
			AfxMessageBox("书名不能为空");
	}
	else
		AfxMessageBox("书号不能为空");
}

//////////////////////////////////////////////////////////////
//void CBuyDlg::OnBuydelete()
//////////////////////////////////////////////////////////////
void CBuyDlg::OnBuydelete()					//删除列表中的项
{
	int j = m_BuyList.GetSelectionMark();
	if(j >= 0)
		buys.erase(buys.begin()+j);
	m_BuyList.DeleteItem(j);
	i--;
	
}

//////////////////////////////////////////////////////////////
//void CBuyDlg::OnOK()
//////////////////////////////////////////////////////////////
void CBuyDlg::OnOK()				//提交,如果图书信息表中没有该书的记录,则插入该记录。
{
	SHOP::_RecordsetPtr pRst;
	if(buys.size() != 0)
	{
		for(int in = 0; in < buys.size(); in++)
		{
			CString _sql,_sql2,_sql3;
			_sql.Format("insert into BUY values(sysdate,\'%s\',%d,%d,\'%s\',%d,\'%s\')",buys[in].isbn,
				buys[in].num,buys[in].buyprice,buys[in].empid,buys[in].price,buys[in].name);

			_sql2.Format("select ISBN from BOOK where ISBN = \'%s\'",buys[in].isbn);

			_sql3.Format("insert into BOOK values(\'%s\',\'%s\',\'%s\',\'%s\',\'%s\',SYSDATE,%d,%d,%d,%d,\'%s\')",buys[in].isbn,
				buys[in].name,buys[in].classes,buys[in].author,buys[in].press,buys[in].version,buys[in].price,buys[in].pages,buys[in].volume,"无");
			
			_bstr_t sql = _sql;
			_bstr_t sql2 = _sql2;
			_bstr_t sql3 = _sql3;
			try
			{
				pConn->Execute(sql,NULL,SHOP::adCmdText);
				pRst = pConn->Execute(sql2,NULL,SHOP::adCmdText);
				if(pRst->End)
				{
					pConn->Execute(sql3,NULL,SHOP::adCmdText);
				}
			}
			catch(_com_error& e)
			{
				AfxMessageBox(e.Description());
			}
		}
		AfxMessageBox("进货成功!");	
		buys.clear();
		CDialog::OnOK();
		
	}
	else
		AfxMessageBox("未选定图,请选择!");	
}

//////////////////////////////////////////////////////////////
//void CBuyDlg::OnBuysearch()
//////////////////////////////////////////////////////////////
void CBuyDlg::OnBuysearch()				//快速ISBN检索图书信息
{
	this->UpdateData(true);
	SHOP::_RecordsetPtr pRst;
	SHOP::_CommandPtr cmd(__uuidof(SHOP::Command));
	CString com;
	_bstr_t condition;
	condition = m_BSedit;
	
	try
	{
		cmd->CommandText = "select * from BOOK where ISBN = ?"; 
		cmd->CommandType = SHOP::adCmdText;
		cmd->ActiveConnection = pConn;
		SHOP::_ParameterPtr pParam = cmd->CreateParameter("ISBN",SHOP::adBSTR,SHOP::adParamInput,0); 
		cmd->Parameters->Append(pParam);
		cmd->Parameters->GetItem("ISBN")->Value = condition;
		pRst = cmd->Execute(0,0,SHOP::adCmdText);
				
		while(!pRst->End)
		{
			_variant_t vISBN = pRst->Fields->GetItem("ISBN")->Value; 
			_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value;
			_variant_t vCLASS = pRst->Fields->GetItem(long(2))->Value;
			_variant_t vAUTHOR = pRst->Fields->GetItem(long(3))->Value;
			_variant_t vPRESS = pRst->Fields->GetItem(long(4))->Value;
			_variant_t vPRESSDATE = pRst->Fields->GetItem(long(5))->Value;
			_variant_t vVERSION = pRst->Fields->GetItem(long(6))->Value;
			_variant_t vPRICE = pRst->Fields->GetItem(long(7))->Value;
			_variant_t vPAGE = pRst->Fields->GetItem(long(8))->Value;
			_variant_t vVOLUME = pRst->Fields->GetItem(long(9))->Value;

			m_BISBN = vISBN.bstrVal;
			m_BName = vNAME.bstrVal;
			m_BAuthor = vAUTHOR.bstrVal;
			m_BPress = vPRESS.bstrVal;
			m_BPressdate = "04-10-10";
			m_BVersion = vVERSION.iVal;
			m_BVolume = vVOLUME.iVal;
			m_Price = vPRICE.iVal;
			m_BPage = vPAGE.iVal;
			this->UpdateData(false);			
			pRst->MoveNext();
		}

		pRst->Close();
		pRst.Release();

	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.Description());
	}	
}

⌨️ 快捷键说明

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