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

📄 purchaserecord.cpp

📁 小型自选商场商品管理系统 要求:能对小型自选商场的商品进货、销售、库存等环节进行管理。主要有: 1)能记录每一笔进货
💻 CPP
字号:
// PurchaseRecord.cpp : implementation file
//

#include "stdafx.h"
#include "ShopManage.h"
#include "PurchaseRecord.h"
#include "DataManage.h"
#include "NewRecord.h"

extern _RecordsetPtr Record1;
extern	_ConnectionPtr DataConn;
extern	_RecordsetPtr DataRecord;
extern	_CommandPtr Com;

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

/////////////////////////////////////////////////////////////////////////////
// CPurchaseRecord dialog


CPurchaseRecord::CPurchaseRecord(CWnd* pParent /*=NULL*/)
	: CDialog(CPurchaseRecord::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPurchaseRecord)
	m_PurchaseID = _T("");
	m_GoodsID = _T("");
	m_PurchasePrice = 0.0f;
	m_PurchaseCount = 0;
	m_PurchaseAcount = 0.0f;
	m_PurchaseDate = _T("");
	//}}AFX_DATA_INIT
}


void CPurchaseRecord::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPurchaseRecord)
	DDX_Text(pDX, IDC_PurchaseID, m_PurchaseID);
	DDX_Text(pDX, IDC_GoodsID, m_GoodsID);
	DDX_Text(pDX, IDC_PurchasePrice, m_PurchasePrice);
	DDX_Text(pDX, IDC_PurchaseCount, m_PurchaseCount);
	DDX_Text(pDX, IDC_PurchaseAcount, m_PurchaseAcount);
	DDX_Text(pDX, IDC_PurchaseDate, m_PurchaseDate);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPurchaseRecord, CDialog)
	//{{AFX_MSG_MAP(CPurchaseRecord)
	ON_BN_CLICKED(IDC_PurchaseClose, OnPurchaseClose)
	ON_BN_CLICKED(IDC_PurchaseAdd, OnPurchaseAdd)
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_New, OnNew)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPurchaseRecord message handlers

void CPurchaseRecord::OnOK() 
{
	// TODO: Add extra validation here
	
	//CDialog::OnOK();
}

void CPurchaseRecord::OnPurchaseClose() 
{
	// TODO: Add your control notification handler code here
	//if(MessageBox("确实要退出本窗口吗?","提示",MB_YESNO) != IDNO)
		EndDialog(0);
}

void CPurchaseRecord::OnPurchaseAdd() 
{
	// TODO: Add your control notification handler code here
	CDataManage dm;
	CString sql;
	CString PurchaseID="",GoodsID="",PurchaseDate="";
	float PurchasePrice=0,PurchaseAcount=0;
	int PurchaseCount;
	UpdateData(TRUE);
	if(m_PurchaseID.GetLength() == 0)
	{
		MessageBox("请输入信息","提示");
		return;
	}
	/**************赋值**********************/
	PurchaseID = m_PurchaseID;
	GoodsID = m_GoodsID;
	PurchasePrice = m_PurchasePrice;
	PurchaseCount = m_PurchaseCount;
	PurchaseAcount = m_PurchaseAcount;
	PurchaseDate = m_PurchaseDate;
	/********************d********************/
	sql.Format("insert into Purchase values ('%s','%s','%f','%d','%f','%s')",
		PurchaseID,GoodsID,PurchasePrice,PurchaseCount,PurchaseAcount,PurchaseDate);
	/*****************************************/
	try
	{
		dm.ConnectDataBase();
		Record1->Open(_variant_t("Purchase"),
		_variant_t((IDispatch *)DataConn,true), adOpenKeyset,
		adLockOptimistic, adCmdTable);
	}
	catch (_com_error& e)
	{
		MessageBox(e.ErrorMessage(),"提示");
	}
	/*****************************************/
	try
	{
		//_variant_t RecordsAffected;
		//DataConn->Execute((_bstr_t)sql,&RecordsAffected,adCmdText); 
		dm.ExecSQL(sql);
		//this->MessageBox("操作成功","提示");
	}
	catch(_com_error &e)
	{
		this->MessageBox(e.ErrorMessage(),"提示");
	}
	/*****************库存修改****************/
	CString temp = "";
	Record1->raw_Close();
	sql.Format("select StorageCount from Storage where GoodsID=%s",GoodsID);
	Record1->Open((_variant_t)sql,DataConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
	if(Record1->RecordCount > 0)
	{
		temp = (TCHAR*)(_bstr_t)Record1->GetFields()->GetItem((long)0)->Value;
		Record1->raw_Close();
		int Count=atoi(temp);
		Count+=PurchaseCount;
		sql.Format("update Storage set StorageCount=%d where GoodsID=%s",Count,GoodsID);
		dm.ExecSQL(sql);
	}
	else
	{
		MessageBox("新记录","提示");
		NewRecord nr;
		nr.DoModal();
	}
	/*****************************************/
	 m_PurchaseID = "";
	 m_GoodsID = "";
	 m_PurchasePrice = 0;
	 m_PurchaseCount = 0;
	 m_PurchaseAcount = 0;
	 m_PurchaseDate = "";
	 UpdateData(FALSE);
}

void CPurchaseRecord::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	
	//CDialog::OnClose();
}

void CPurchaseRecord::OnNew() 
{
	// TODO: Add your control notification handler code here
	NewRecord nr;
	nr.DoModal();
}

⌨️ 快捷键说明

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