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

📄 lose.cpp

📁 一个VC写的药品管理系统
💻 CPP
字号:
// Lose.cpp : implementation file
//

#include "stdafx.h"
#include "medicine.h"
#include "Lose.h"
#include "_recordset.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "ADOConn.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLose dialog


CLose::CLose(CWnd* pParent /*=NULL*/)
	: CDialog(CLose::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLose)
	m_Begin = 0;
	m_End = 0;
	m_LoseMoney = 0.0f;
	m_LoseAmout = 0.0f;
	//}}AFX_DATA_INIT
}


void CLose::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLose)
	DDX_Control(pDX, IDC_ADODC1, m_Adodc);
	DDX_Control(pDX, IDC_DATAGRID1, m_DataGrid);
	DDX_DateTimeCtrl(pDX, IDC_BEGIN, m_Begin);
	DDX_DateTimeCtrl(pDX, IDC_END, m_End);
	DDX_Text(pDX, IDC_LOSEMONEY, m_LoseMoney);
	DDX_Text(pDX, IDC_LOSEAMOUT, m_LoseAmout);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLose, CDialog)
	//{{AFX_MSG_MAP(CLose)
	ON_BN_CLICKED(IDC_OK, OnOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLose message handlers

int CLose::DoModal() 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CDialog::DoModal();
}

BOOL CLose::OnInitDialog() 
{
	CDialog::OnInitDialog();
	CTime t = CTime::GetCurrentTime();
	m_Begin = t;//+24*60*60*2;		//设置购入药品日期为当天
	m_End=t;       //设置药品过期日期为当天
    UpdateData(FALSE);//把变量信息及时更新到控件上
	RefreshData();
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CLose::OnOk() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);// 将控件上的信息及时更新到对应的变量
	if(m_Begin>m_End)
	{
		MessageBox("请选择正确日期!");
		return;
	}
	CString cSql;
	cSql="select  SaleInfo.SaleId as'销售编号',MediInfo.MediName as ";
	cSql+=" '药品编号',MediInfo.Unit as'药品名称',(0.01*MediInfo.MediPrice*SaleInfo.VipDisc) as ";
	cSql+=" '售价', MediInfo.MediPrice as'进价', SaleInfo.MediAmout as'数量'from SaleInfo,MediInfo ";
	cSql+=" where SaleInfo.MediId=MediInfo.MediId and MediInfo.MediPrice>(0.01*MediInfo.MediPrice*SaleInfo.VipDisc)";
	CString beginDate = m_Begin.Format("%Y-%m-%d");
	CString endDate = m_End.Format("%Y-%m-%d");
	cSql += " and SaleInfo.SaleDate between '"+beginDate+"' and '"+endDate+"'";
	m_Adodc.SetRecordSource((LPCTSTR)(_bstr_t)cSql);
	m_Adodc.Refresh();

	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "select sum(MediInfo.MediPrice-0.01*MediInfo.MediPrice*SaleInfo.VipDisc) lm,";
	vSQL+="sum(SaleInfo.MediAmout) la from SaleInfo,MediInfo where SaleInfo.MediId=MediInfo.MediId and MediInfo.MediPrice>(0.01*MediInfo.MediPrice*SaleInfo.VipDisc)";
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//返回各列的值
	if (m_pRecordset->adoEOF)
		CLose();
	else
	{	
		m_LoseMoney = atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("lm"));
		m_LoseAmout = atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("la"));
	}
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
	UpdateData(false);// 将变量的信息及时更新到对应的控件上
	RefreshData();
}
void CLose::RefreshData()
{
	UpdateData(TRUE);// 将控件上的信息及时更新到对应的变量
	/*	CString SaleId,SaleDate;
	float MediAmout,SalePrice;
	int PayType;
	//MediId,MediPrice, WorkNo,VipDisc*/
	CString cSql;

	cSql="select  SaleInfo.SaleId as'销售编号',MediInfo.MediName as ";
	cSql+=" '药品编号',MediInfo.Unit as'药品名称',(0.01*MediInfo.MediPrice*SaleInfo.VipDisc) as ";
	cSql+=" '售价', MediInfo.MediPrice as'进价', SaleInfo.MediAmout as'数量'from SaleInfo,MediInfo ";
	cSql+=" where SaleInfo.MediId=MediInfo.MediId and MediInfo.MediPrice>(0.01*MediInfo.MediPrice*SaleInfo.VipDisc)";
	//m_Adodc.SetRecordSource(cSql);
	//m_Adodc.Refresh();
	m_Adodc.SetRecordSource((LPCTSTR)(_bstr_t)cSql);
	m_Adodc.Refresh();
}

⌨️ 快捷键说明

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