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