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

📄 operator.cpp

📁 < SQL SERVER 2000 案例教程>>,冶金工业出版社,这本书的代码
💻 CPP
字号:
// Operator.cpp : implementation file
//

#include "stdafx.h"
#include "售货系统.h"
#include "Operator.h"

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

extern CDatabase m_database;
extern CString username;
extern CString getdate();
CString sql;
int index=0;
/////////////////////////////////////////////////////////////////////////////
// COperator dialog


COperator::COperator(CWnd* pParent /*=NULL*/)
	: CDialog(COperator::IDD, pParent)
{
	//{{AFX_DATA_INIT(COperator)
	m_code = _T("");
	m_count = 0.0;
	m_client = 0.0;
	m_number = 1;
	//}}AFX_DATA_INIT
}


void COperator::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COperator)
	DDX_Control(pDX, IDC_GOODLIST, m_goodlist);
	DDX_Text(pDX, IDC_GOODCODE, m_code);
	DDX_Text(pDX, IDC_COUNT, m_count);
	DDX_Text(pDX, IDC_CLIENT, m_client);
	DDX_Text(pDX, IDC_NUMBER, m_number);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COperator, CDialog)
	//{{AFX_MSG_MAP(COperator)
	ON_BN_CLICKED(IDC_INPUTCODE, OnInputcode)
	ON_BN_CLICKED(IDREINPUT, OnReinput)
	ON_BN_CLICKED(IDC_CANCELGOOD, OnCancelgood)
	ON_BN_CLICKED(IDC_CHECK, OnCheck)
	ON_BN_CLICKED(IDSALECANCEL, OnSalecancel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COperator message handlers

void COperator::OnInputcode() 
{
	UpdateData(TRUE);
	CString str;
	CMessSet m_messset;
	m_messset.m_pDatabase=&m_database;
	sql.Format("select * from 商品资料表 where 商品编号='%s'",m_code);
	m_messset.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
	m_messset.MoveFirst();
	if(!m_messset.IsEOF()){
		m_goodlist.InsertItem(index,m_code);
		str=m_messset.m_column2;
		str.TrimRight();
		m_goodlist.SetItemText(index,1,str);
		str.Format("%.2f",m_messset.m_column3);
		m_goodlist.SetItemText(index,2,str);
		str.Format("%d",m_number);
		m_goodlist.SetItemText(index,3,str);
		index++;
		m_count=m_count+m_messset.m_column3*m_number;
	}
	UpdateData(FALSE);
	
}

BOOL COperator::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_goodlist.InsertColumn(0,"商品编号");
	m_goodlist.InsertColumn(1,"商品名");
	m_goodlist.InsertColumn(2,"价格");
	m_goodlist.InsertColumn(3,"数量");
	CRect r;
	m_goodlist.GetWindowRect(&r);
	int wid=r.Width()/4;
	for(int i=0;i<4;i++){
		m_goodlist.SetColumnWidth(i,wid);
	}
	m_goodlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void COperator::OnRefreshData(CString sql){
}

void COperator::OnReinput() 
{
	m_goodlist.DeleteAllItems();
	m_number=1;
	m_count=0;
	m_client=0;
	UpdateData(FALSE);
}

void COperator::OnCancelgood() 
{
	CString sql;
	CString str;
	int index1=-1;
	int preindex=-1;
	int number;
	double acount;
	if(m_goodlist.GetNextItem(index1,LVNI_SELECTED) == -1){
		MessageBox("请先选中一条记录");
		return;
	}
	while((index1=m_goodlist.GetNextItem(preindex,LVNI_SELECTED))!=-1){
	 	str=m_goodlist.GetItemText(index1,3);
		number=atoi(str);
		str=m_goodlist.GetItemText(index1,2);
		acount=atof(str);
		m_count=m_count-acount*number; 
		m_goodlist.DeleteItem(index1);
		preindex=index1-1;
		index--;
	}
	UpdateData(FALSE);
}

void COperator::OnCheck() 
{
	UpdateData(TRUE);
	if(m_client<m_count){
		MessageBox("所付钱额不足");
		return;
	}else{
		if(m_count==0){
			MessageBox("还没有客户购买商品");
			return;
		}
		CShowSellDlg selldlg;
		selldlg.m_account=m_count;
		selldlg.m_client=m_client;
		selldlg.DoModal();
		if(selldlg.isok){
			CString datetime=getdate();
			int num=m_goodlist.GetItemCount();
			CSellRecordSet m_sellset;
			CString str;
			str.Format("select * from 售货记录表");
			m_sellset.m_pDatabase=&m_database;
		    m_sellset.Open(AFX_DB_USE_DEFAULT_TYPE,str);
			int index;
			if(m_sellset.IsEOF()){
				index=0;
			}else{
				m_sellset.MoveLast();
				index=m_sellset.m_column1+1;
			}
			str.Format("%d",index);
				AfxMessageBox(str);
 			for(int i=0;i<num;i++){
				str.Format("insert into 售货记录表 values('%d','%s','%s','%s','%s','%s','%s')",index,m_goodlist.GetItemText(i,0),m_goodlist.GetItemText(i,1),m_goodlist.GetItemText(i,2),m_goodlist.GetItemText(i,3),username,datetime);
				m_database.ExecuteSQL(str);
				index++;
			} 
			OnReinput();
		}
	}
}

void COperator::OnSalecancel() 
{
	if(MessageBox("确定退出系统1?","提醒",MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)!=IDNO){
		exit(0);
	}
}

⌨️ 快捷键说明

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