shpxxdlg.cpp
来自「商品进存销管理系统 包含发票」· C++ 代码 · 共 386 行
CPP
386 行
// shpxxDLG.cpp : implementation file
//
#include "stdafx.h"
#include "glxt.h"
#include "shpxxDLG.h"
#include "fpbDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CshpxxDLG dialog
CshpxxDLG::CshpxxDLG(CWnd* pParent /*=NULL*/)
: CDialog(CshpxxDLG::IDD, pParent)
{
//{{AFX_DATA_INIT(CshpxxDLG)
m_bh = _T("");
m_mc = _T("");
m_pp = _T("");
m_gg = _T("");
m_cd = _T("");
m_lb = _T("");
m_dw = _T("");
m_bjg = 0.0f;
m_sjg = 0.0f;
//}}AFX_DATA_INIT
}
void CshpxxDLG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CshpxxDLG)
DDX_Control(pDX, IDC_LIST1, m_listshp);
DDX_Text(pDX, IDC_EDIT1, m_bh);
DDX_Text(pDX, IDC_EDIT2, m_mc);
DDX_Text(pDX, IDC_EDIT3, m_pp);
DDX_Text(pDX, IDC_EDIT4, m_gg);
DDX_Text(pDX, IDC_EDIT5, m_cd);
DDX_Text(pDX, IDC_EDIT6, m_lb);
DDX_Text(pDX, IDC_EDIT7, m_dw);
DDX_Text(pDX, IDC_EDIT9, m_bjg);
DDX_Text(pDX, IDC_EDIT10, m_sjg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CshpxxDLG, CDialog)
//{{AFX_MSG_MAP(CshpxxDLG)
ON_BN_CLICKED(IDC_BUTTON4, Onvallshp)
ON_BN_CLICKED(IDC_BUTTON1, Onedit)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkvshp)
ON_BN_CLICKED(IDC_BUTTON3, OnButtonAdd)
ON_BN_CLICKED(IDC_BUTTON2, OnButtonDel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CshpxxDLG message handlers
BOOL CshpxxDLG::OnInitDialog()
{
CDialog::OnInitDialog();
m_listshp.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT );
m_listshp.InsertColumn(0,"商品编号",LVCFMT_LEFT,80);
m_listshp.InsertColumn(1,"商品名称",LVCFMT_LEFT,80);
m_listshp.InsertColumn(2,"品牌",LVCFMT_LEFT,100);
m_listshp.InsertColumn(3,"规格",LVCFMT_LEFT,80);
m_listshp.InsertColumn(4,"产地",LVCFMT_LEFT,80);
m_listshp.InsertColumn(5,"商品类别",LVCFMT_LEFT,200);
m_listshp.InsertColumn(6,"计量单位",LVCFMT_LEFT,80);
m_listshp.InsertColumn(7,"进货价格",LVCFMT_CENTER,80);
m_listshp.InsertColumn(8,"销售价格",LVCFMT_CENTER,80);
// TODO: Add extra initialization here
m_db.Open(_T("gshDSN"));
m_rs.m_pDatabase=&m_db;
m_rs.Open();
/*m_bh=m_rs.m_Gno;
m_mc=m_rs.m_Gname;
m_pp=m_rs.m_Gsign;
m_gg=m_rs.m_Gtype;
m_cd=m_rs.m_Gaddr;
m_lb=m_rs.m_Gkindname;
m_dw=m_rs.m_Gcbitname;
m_bjg=m_rs.m_Gbprice;
m_sjg=m_rs.m_Gsprice;
UpdateData(FALSE);
m_rs.Close(); */
//UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CshpxxDLG::Onvallshp()
{
// TODO: Add your control notification handler code here
if(!m_rs.IsOpen())
m_rs.Open();
m_listshp.DeleteAllItems();
int n = 0 ;
while(!m_rs.IsEOF())
{
m_listshp.InsertItem(n,"");
CString s;
s.Format("%s",m_rs.m_Gno);
m_listshp.SetItemText(n,0,s);
s.Format("%s",m_rs.m_Gname);
m_listshp.SetItemText(n,1,s);
s.Format("%s",m_rs.m_Gsign);
m_listshp.SetItemText(n,2,s);
s.Format("%s",m_rs.m_Gtype);
m_listshp.SetItemText(n,3,s);
s.Format("%s",m_rs.m_Gaddr);
m_listshp.SetItemText(n,4,s);
s.Format("%s",m_rs.m_Gkindname);
m_listshp.SetItemText(n,5,s);
s.Format("%s",m_rs.m_Gcbitname);
m_listshp.SetItemText(n,6,s);
s.Format("%.1f",m_rs.m_Gbprice);
m_listshp.SetItemText(n,7,s);
s.Format("%.1f",m_rs.m_Gsprice);
m_listshp.SetItemText(n,8,s);
m_rs.MoveNext();
n++;
}
m_rs.Close();
//if (m_db.IsOpen())
//m_db.Close();
}
void CshpxxDLG::Onedit()
{
// TODO: Add your control notification handler code here
if(!m_rs.IsOpen())
m_rs.Open();
CString csgno,csgname,csgsign,csgtype,csgaddr,csgkind,cscbit,csbz;
float dcount,dbprice,dsprice;
while(m_rs.m_Gno!=m_bh)
{
m_rs.MoveNext();
}
csgno=m_rs.m_Gno;
csgname=m_rs.m_Gname;
csgsign=m_rs.m_Gsign;
csgtype=m_rs.m_Gtype;
csgaddr=m_rs.m_Gaddr;
csgkind=m_rs.m_Gkindname;
cscbit=m_rs.m_Gcbitname;
dbprice=m_rs.m_Gbprice;
dsprice=m_rs.m_Gsprice;
try
{
m_rs.Edit();
UpdateData(TRUE);
if(m_bh!=csgno)
{
m_bh=csgno;
UpdateData(FALSE);
AfxMessageBox("没有足够的权限修改编号!");
}
else
m_rs.m_Gno=m_bh;
m_rs.m_Gname=m_mc;
m_rs.m_Gsign=m_pp;
m_rs.m_Gtype=m_gg;
m_rs.m_Gaddr=m_cd;
m_rs.m_Gkindname=m_lb;
m_rs.m_Gcbitname=m_dw;
m_rs.m_Gbprice=m_bjg;
m_rs.m_Gsprice=m_sjg;
m_rs.Update();
}
catch(CDBException * e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
m_bh=csgno;
m_mc=csgname;
m_pp=csgsign;
m_gg=csgtype;
m_cd=csgaddr;
m_lb=csgkind;
m_dw=cscbit;
m_bjg=dbprice;
m_sjg=dsprice;
UpdateData(FALSE);
}
Onrefresh() ;
m_rs.Close();
}
void CshpxxDLG::OnDblclkvshp(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//m_db.Open(_T("gshDSN"));
int index=m_listshp.GetNextItem(-1,LVNI_SELECTED);
if(index!=-1)
{
m_bh=m_listshp.GetItemText(index,0);
m_mc=m_listshp.GetItemText(index,1);
m_pp=m_listshp.GetItemText(index,2);
m_gg=m_listshp.GetItemText(index,3);
m_cd=m_listshp.GetItemText(index,4);
m_lb=m_listshp.GetItemText(index,5);
m_dw=m_listshp.GetItemText(index,6);
m_bjg=atof(m_listshp.GetItemText(index,7));
m_sjg=atof(m_listshp.GetItemText(index,8));
UpdateData(FALSE);
*pResult = 0;
}
}
void CshpxxDLG::Onrefresh()
{
// TODO: Add your control notification handler code here
if(!m_rs.IsOpen())
m_rs.Open();
m_listshp.DeleteAllItems();
int n = 0 ;
m_rs.MoveFirst();
while(!m_rs.IsEOF())
{
m_listshp.InsertItem(n,"");
CString s;
s.Format("%s",m_rs.m_Gno);
m_listshp.SetItemText(n,0,s);
s.Format("%s",m_rs.m_Gname);
m_listshp.SetItemText(n,1,s);
s.Format("%s",m_rs.m_Gsign);
m_listshp.SetItemText(n,2,s);
s.Format("%s",m_rs.m_Gtype);
m_listshp.SetItemText(n,3,s);
s.Format("%s",m_rs.m_Gaddr);
m_listshp.SetItemText(n,4,s);
s.Format("%s",m_rs.m_Gkindname);
m_listshp.SetItemText(n,5,s);
s.Format("%s",m_rs.m_Gcbitname);
m_listshp.SetItemText(n,6,s);
s.Format("%.1f",m_rs.m_Gbprice);
m_listshp.SetItemText(n,7,s);
s.Format("%.1f",m_rs.m_Gsprice);
m_listshp.SetItemText(n,8,s);
m_rs.MoveNext();
n++;
}
m_rs.Close();
}
void CshpxxDLG::OnButtonAdd()
{
// TODO: Add your control notification handler code here
if(!m_rs.IsOpen())
m_rs.Open();
try
{
m_rs.AddNew();
UpdateData(TRUE);
m_rs.m_Gno=m_bh;
m_rs.m_Gname=m_mc;
m_rs.m_Gsign=m_pp;
m_rs.m_Gtype=m_gg;
m_rs.m_Gaddr=m_cd;
m_rs.m_Gkindname=m_lb;
m_rs.m_Gcbitname=m_dw;
m_rs.m_Gbprice=m_bjg;
m_rs.m_Gsprice=m_sjg;
m_rs.Update();
}
catch(CDBException * e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
//m_rs.MoveFirst();
m_bh=m_rs.m_Gno;
m_mc=m_rs.m_Gname;
m_pp=m_rs.m_Gsign;
m_gg=m_rs.m_Gtype;
m_cd=m_rs.m_Gaddr;
m_lb=m_rs.m_Gkindname;
m_dw=m_rs.m_Gcbitname;
m_bjg=m_rs.m_Gbprice;
m_sjg=m_rs.m_Gsprice;
UpdateData(FALSE);
}
try
{
m_rs.Requery();
}
catch(CDBException * e)
{
AfxMessageBox("Can not Requery!",MB_ICONEXCLAMATION);
e->Delete();
}
Onrefresh();
m_rs.Close();
}
void CshpxxDLG::OnButtonDel()
{
// TODO: Add your control notification handler code here
if(!m_rs.IsOpen())
m_rs.Open();
while(m_rs.m_Gno!=m_bh)
{
m_rs.MoveNext();
}
if(m_rs.IsEOF()||m_rs.IsBOF())
return;
try
{
m_rs.Delete();
}
catch(CDBException * e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
return;
}
try
{
m_rs.Requery();
}
catch(CDBException * e)
{
AfxMessageBox("Can not Requery!",MB_ICONEXCLAMATION);
e->Delete();
}
m_rs.MoveFirst();
m_bh=m_rs.m_Gno;
m_mc=m_rs.m_Gname;
m_pp=m_rs.m_Gsign;
m_gg=m_rs.m_Gtype;
m_cd=m_rs.m_Gaddr;
m_lb=m_rs.m_Gkindname;
m_dw=m_rs.m_Gcbitname;
m_bjg=m_rs.m_Gbprice;
m_sjg=m_rs.m_Gsprice;
UpdateData(FALSE);
Onrefresh();
m_rs.Close();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?