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

📄 queryorderdlg.cpp

📁 手机话费程序
💻 CPP
字号:
// QueryOrderDlg.cpp : implementation file
//

#include "stdafx.h"
#include "mphonequery.h"
#include "QueryOrderDlg.h"
#include "MPhoneQueryView.h"
#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CQueryOrderDlg dialog


CQueryOrderDlg::CQueryOrderDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryOrderDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryOrderDlg)
	m_bCheckAdminId = FALSE;
	m_bCheckPhoneNo = FALSE;
	//}}AFX_DATA_INIT
}


void CQueryOrderDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryOrderDlg)
	DDX_Check(pDX, IDC_CHECK_ADMINID, m_bCheckAdminId);
	DDX_Check(pDX, IDC_CHECK_PHONENO, m_bCheckPhoneNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CQueryOrderDlg, CDialog)
	//{{AFX_MSG_MAP(CQueryOrderDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryOrderDlg message handlers

void CQueryOrderDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	
	int iIndex;

	if ( !m_bCheckAdminId && !m_bCheckPhoneNo )
	{
		AfxMessageBox(_T("请选择查询条件!"), MB_ICONEXCLAMATION);
		return;
	}

	if (m_bCheckAdminId)
	{
		iIndex = ((CComboBox*)GetDlgItem(IDC_QUERY_ADMINID))->GetCurSel();
		((CComboBox*)GetDlgItem(IDC_QUERY_ADMINID))->GetLBText(iIndex,m_strAdminId);
	}
	else
	{
		m_strAdminId = "%";

	}
	if (m_bCheckPhoneNo)
	{
		iIndex = ((CComboBox*)GetDlgItem(IDC_QUERY_PHONENO))->GetCurSel();
		((CComboBox*)GetDlgItem(IDC_QUERY_PHONENO))->GetLBText(iIndex,m_strPhoneNo);
	}
	else
	{
		m_strPhoneNo = "%";
	}

	_variant_t strQuery, Holder;
	strQuery = "select * from phone where phone_no like '"+m_strPhoneNo+"'";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet ->GetRecordCount();

	CString strPhoneId;
	if ( iCount == 0 )
	{
		strPhoneId = "%";
	}
	else
	{	
		Holder = theApp.m_pADOSet ->GetCollect("phone_id");
		strPhoneId = (char*)(_bstr_t)Holder;
	}

	strQuery = "select * from [order] where phone_id like '"+strPhoneId+"' and \
		staff_id like '"+m_strAdminId+"'";

	CMPhoneQueryView* p = (CMPhoneQueryView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	p->RefreshOrder(strQuery);
	
	CDialog::OnOK();	

}

BOOL CQueryOrderDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	_variant_t strQuery, Holder, strSubQuery, SubHolder;
	_RecordsetPtr pSubADOSet;

	// 初始化ADO记录集
	pSubADOSet.CreateInstance(__uuidof(Recordset));
	
	// 插入手机号
	strQuery = "select distinct phone_id from [order]";
	theApp.ADOExecute(theApp.m_pADOSet,strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();

	if(iCount > 0)
	{
		theApp.m_pADOSet->MoveFirst();
		CString strPhoneId;
		CString strPhoneNo;

		for(int i = 0; i < iCount; i++)
		{			
			Holder     = theApp.m_pADOSet->GetCollect("phone_id");
			strPhoneId = (char*)(_bstr_t)Holder;

			strSubQuery = "select phone_no from phone where phone_id = '"+strPhoneId+"'";
			theApp.ADOExecute(pSubADOSet, strSubQuery);
			SubHolder   = pSubADOSet ->GetCollect("phone_no");
			strPhoneNo  = (char*)(_bstr_t)SubHolder;
			
			((CComboBox*)GetDlgItem(IDC_QUERY_PHONENO))->InsertString(i, strPhoneNo);
			
			theApp.m_pADOSet->MoveNext();
		}
		((CComboBox*)GetDlgItem(IDC_QUERY_PHONENO))->SetCurSel(0);
	}

	// 插入管理员编号
	strQuery = "select distinct staff_id from staff";
	theApp.ADOExecute(theApp.m_pADOSet,strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();

	if(iCount > 0)
	{
		theApp.m_pADOSet->MoveFirst();
		CString strAdminId;

		for(int i = 0; i < iCount; i++)
		{			
			Holder     = theApp.m_pADOSet->GetCollect("staff_id");
			strAdminId = (char*)(_bstr_t)Holder;
			
			((CComboBox*)GetDlgItem(IDC_QUERY_ADMINID))->InsertString(i, strAdminId);
			
			theApp.m_pADOSet->MoveNext();
		}
		((CComboBox*)GetDlgItem(IDC_QUERY_ADMINID))->SetCurSel(0);
	}


	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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