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 + -
显示快捷键?