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

📄 doperationquery.cpp

📁 用VC+SQL实现的物流管理系统 “RxMediaPlayer” 文件夹中存放《物流综合管理系统》中《媒体播放平台》源程序 “数据库设置”文件夹中存放《物流综合管理系统》辅助工具《数据库设置》源程
💻 CPP
字号:
// DOperationQuery.cpp : implementation file
//

#include "stdafx.h"
#include "MyProject.h"
#include "DOperationQuery.h"
#include "ExternDllHeader.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// DOperationQuery dialog


DOperationQuery::DOperationQuery(CWnd* pParent /*=NULL*/)
	: CDialog(DOperationQuery::IDD, pParent)
{
	//{{AFX_DATA_INIT(DOperationQuery)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void DOperationQuery::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DOperationQuery)
	DDX_Control(pDX, IDC_STATITLE, m_StaTitle);
	DDX_Control(pDX, IDC_LIST2, m_ListGrid);
	DDX_Control(pDX, IDC_LIST1, m_MainGrid);
	DDX_Control(pDX, IDC_EDTCONDITION, m_EdtCondition);
	DDX_Control(pDX, IDC_DATE2, m_DtDate2);
	DDX_Control(pDX, IDC_DATE1, m_DtDate1);
	DDX_Control(pDX, IDC_COMFIELD, m_ComField);
	DDX_Control(pDX, IDC_COMEMBLEM, m_ComEmblem);
	DDX_Control(pDX, IDC_BUTQUERY, m_ButQuery);
	DDX_Control(pDX, IDC_BUTPRINT, m_ButPrint);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DOperationQuery, CDialog)
	//{{AFX_MSG_MAP(DOperationQuery)
	ON_BN_CLICKED(IDC_BUTQUERY, OnButquery)
	ON_BN_CLICKED(IDC_BUTPRINT, OnButprint)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DOperationQuery message handlers

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

void DOperationQuery::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

void DOperationQuery::OnButquery() 
{
	RxRecordset rst;
	CString sSQL,sField,sEmblem,sCondition,sDate1,sDate2,sTitle;
	this->m_ComField.GetWindowText(sField);
	this->m_ComEmblem.GetWindowText(sEmblem);
	this->m_EdtCondition.GetWindowText(sCondition);
	
	CTime tDate1,tDate2;
	m_DtDate1.GetTime(tDate1);
	m_DtDate2.GetTime(tDate2);
	sDate1=CTimeToCString(tDate1);
	sDate2=CTimeToCString(tDate2);
	m_StaTitle.GetWindowText(sTitle);
	//判断查询字段的类型 
	if(m_ComField.m_CurrentFieldType=="数值型")
		sSQL.Format("SELECT * FROM (%s) DERIVEDTBL WHERE %s %s %s AND %s BETWEEN '%s' AND '%s'",m_DataBaseName,sField,sEmblem,sCondition,sTitle,sDate1,sDate2);	
	else
	{
		if(sEmblem!="LIKE")
			sSQL.Format("SELECT * FROM (%s) DERIVEDTBL \
			WHERE %s %s '%s' AND %s BETWEEN '%s' AND '%s'"\
			,m_DataBaseName,sField,sEmblem,sCondition,sTitle,sDate1,sDate2);	
		else
			sSQL.Format("SELECT * FROM (%s) DERIVEDTBL \
			WHERE %s %s '%s%%' AND %s BETWEEN '%s' AND '%s'",\
			m_DataBaseName,sField,sEmblem,sCondition,sTitle,sDate1,sDate2);	
	}
	rst.Open(sSQL,adCmdText);
	m_MainGrid.AddCellValue(rst);
	
}

void DOperationQuery::OnButprint() 
{
	if(m_HotItem<0)
	{
		MessageBox("请在显示主要信息的表格中双击一条记录!","系统提示",MB_OK|MB_ICONSTOP);
		return;
	}
	RxRecordset rst;
	CString sName,sDate,sCliect,sMan,sSumMoney,sBigMoney,sSumNumber,sID;	
	this->GetWindowText(sName);
	sName=sName.Left(sName.GetLength()-4);
	sName=sName+"单据";

	sID=m_MainGrid.GetItemText(m_HotItem,0);
	sCliect=m_MainGrid.GetItemText(m_HotItem,1);	
	sDate=m_MainGrid.GetItemText(m_HotItem,2);	
	sMan=m_MainGrid.GetItemText(m_HotItem,5);

	sSumNumber=m_MainGrid.GetItemText(m_HotItem,3);
	sSumMoney=m_MainGrid.GetItemText(m_HotItem,4);
	
	sBigMoney=MoneyToChineseCode(sSumMoney);
	m_ps.MainCaptionFontSize=400;
	m_ps.DeckCaptionFontSize=180;
	
	m_ps.MainCaption=sName;
	m_ps.DeckCaptionNumber=4;

	m_ps.DeckCaptions[0]=m_MainGrid.GetColText(0)+":"+sID;
	m_ps.DeckCaptions[1]=m_MainGrid.GetColText(2)+":"+sDate;
	m_ps.DeckCaptions[2]=m_MainGrid.GetColText(1)+":"+sCliect;
	m_ps.DeckCaptions[3]=m_MainGrid.GetColText(5)+":"+sMan;
	
	 m_ps.Grid=&m_ListGrid;
	
	m_ps.TotalNumber=3;
	m_ps.Totals[0]="合计金额(小写):"+sSumMoney;
	m_ps.Totals[2]="合计数量:"+sSumNumber; 
	m_ps.Totals[1]="合计金额(大写):"+sBigMoney;

	CMyApp* theApp;
	theApp=(CMyApp*)::AfxGetApp();
	theApp->Print();	

}

BOOL DOperationQuery::OnInitDialog() 
{
	RxRecordset rst;
	CDialog::OnInitDialog();
	Init();
	rst.Open(m_DataBaseName,adCmdText);
	m_MainGrid.SetDataBase(m_DataBaseName,adCmdText);
	m_MainGrid.m_bReadOnly=true;
	this->m_ComField.SetRecordset(rst);
	rst.Open(m_ListDataBaseName,adCmdText);
	m_ListGrid.SetDataBase(m_ListDataBaseName,adCmdText);
	m_ListGrid.m_bReadOnly=true;
	m_ListGrid.DeleteAllItems();
	m_ListGrid.DeleteColumn(m_ListGrid.GetCols()-1);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void DOperationQuery::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	RxRecordset ListRst;
	CString sText,sSQL;
	sText=this->m_MainGrid.GetItemText(this->m_MainGrid.GetHotItem(),0);	
	if(sText.IsEmpty())
		return;
	m_HotItem=this->m_MainGrid.GetHotItem();
	CString sHeaderName;
	sHeaderName=this->m_MainGrid.GetColText(0);
	sSQL.Format("SELECT * FROM (%s) DERIVEDTBL WHERE %s='%s'",m_ListDataBaseName,sHeaderName,sText);
	ListRst.Open(sSQL,adCmdText);
	m_ListGrid.AddCellValue(ListRst);
	*pResult = 0;
}

⌨️ 快捷键说明

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