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

📄 pageordersearch.cpp

📁 短信群发系统
💻 CPP
字号:
// PageOrderSearch.cpp : implementation file
//

#include "stdafx.h"
#include "notesendsystem.h"
#include "PageOrderSearch.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPageOrderSearch dialog


CPageOrderSearch::CPageOrderSearch(CWnd* pParent /*=NULL*/)
	: CDialog(CPageOrderSearch::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPageOrderSearch)
	m_content = _T("");
	m_order_id = _T("");
	m_radio = -1;
	m_end_date = COleDateTime::GetCurrentTime();
	m_start_date = COleDateTime::GetCurrentTime();
	cul_sel = 0;
	//}}AFX_DATA_INIT
}


void CPageOrderSearch::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPageOrderSearch)
	DDX_Control(pDX, IDC_CONTENT, m_ctrl_content);
	DDX_Control(pDX, IDC_ORDER_ID, m_ctrl_orderid);
	DDX_Control(pDX, IDC_START_DATE, m_ctrl_start_date);
	DDX_Control(pDX, IDC_END_DATE, m_ctrl_end_date);
	DDX_Control(pDX, IDC_RADIO_ID, m_ctrl_radio);
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Text(pDX, IDC_CONTENT, m_content);
	DDX_Text(pDX, IDC_ORDER_ID, m_order_id);
	DDX_Radio(pDX, IDC_RADIO_ID, m_radio);
	DDX_DateTimeCtrl(pDX, IDC_END_DATE, m_end_date);
	DDX_DateTimeCtrl(pDX, IDC_START_DATE, m_start_date);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPageOrderSearch, CDialog)
	//{{AFX_MSG_MAP(CPageOrderSearch)
	ON_BN_CLICKED(IDC_SEARCH, OnSearch)
	ON_BN_CLICKED(IDC_RADIO_ID, OnRadioId)
	ON_BN_CLICKED(IDC_RADIO_DATE, OnRadioDate)
	ON_BN_CLICKED(IDC_RADIO_CONTENT, OnRadioContent)
	ON_BN_CLICKED(IDCANCLE, OnCancle)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPageOrderSearch message handlers

BOOL CPageOrderSearch::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_list.ModifyStyle(0, LVS_REPORT);	
	CString		str[6] = {"订单ID", "开始日期", "结束日期", "开始时间", "结束时间", "订单内容"};
	int i;
	for (i = 0; i < 6; i++)
	{
		m_list.InsertColumn(i, str[i], LVCFMT_LEFT, 80);
	}
	m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);	

	m_ctrl_radio.SetCheck(1);
	m_ctrl_orderid.EnableWindow(TRUE);
	m_ctrl_end_date.EnableWindow(FALSE);
	m_ctrl_start_date.EnableWindow(FALSE);
	m_ctrl_content.EnableWindow(FALSE);
	cul_sel = 1;
	return TRUE; 
}
//查询
void CPageOrderSearch::OnSearch() 
{	
	UpdateData();

	CNoteSendSystemApp * pApp = (CNoteSendSystemApp *)AfxGetApp();
	CString				command;

	if ( 1 == cul_sel)
	{
		//判断输入的订单号
		if ( m_order_id.GetLength() == 0 )
		{
			MessageBox("订单号不能为空", "提示");
			m_order_id.Empty();
			UpdateData(FALSE);
			return;
		}
		if ( m_order_id.GetLength() != 4 )
		{
			MessageBox("订单号必须为4位数字", "提示");
			m_order_id.Empty();
			UpdateData(FALSE);
			return;
		}
		char buf[4];
		strcpy(buf, m_order_id);

		for (int i=0; i<4; i++)
		{
			if (!isdigit(buf[i]))
			{
				MessageBox("订单号必修都为数字", "提示");
				m_order_id.Empty();
				UpdateData(FALSE);
			return;
			}
		}
		//执行查询语句
		command.Empty();
		command.Format("select * from Orders where ID='%s'", m_order_id);
		pApp->m_pConnection.GetRecordSet(command, record);

		if (record.IsEof())
		{
			MessageBox("没有数据", "提示");
			m_order_id.Empty();
			UpdateData(FALSE);
			return;
		}
		else
		{
			ShowSearchList();
		}
	}

	else if (2 == cul_sel)
	{
		if (m_start_date > m_end_date)
		{
			MessageBox("前面的日期必须不后面的日期小", "错误");
			return;
		}
		CString			start_time;
		CString         end_time;

		start_time = m_start_date.Format("%Y-%m-%d %H:%M:%S");
		end_time   = m_end_date.Format("%Y-%m-%d %H:%M:%S");
		command.Empty();
		command.Format("select * from Orders where OrderStart between '%s' and '%s'", start_time, end_time);
		pApp->m_pConnection.GetRecordSet(command, record);
		
		if (record.IsEof())
		{
			MessageBox("没有数据", "提示");
			m_order_id.Empty();
			UpdateData(FALSE);
			return;
		}
		else
		{
			ShowSearchList();
		}
	}

	else if (3 == cul_sel)
	{
		if ( m_content.GetLength()  == 0 )
		{
			MessageBox("内容不能为空", "错误");
			return;
		}
		//查询
		//执行查询语句
		command.Empty();
		command.Format("select * from Orders where Content='%s'", m_content);
		pApp->m_pConnection.GetRecordSet(command, record);
		
		if (record.IsEof())
		{
			MessageBox("没有数据", "提示");
			m_content.Empty();
			UpdateData(FALSE);
			return;
		}
		else
		{
			ShowSearchList();
		}
	}
}


void CPageOrderSearch::OnRadioId() 
{
	//当选择按ID查询的时候	
	m_ctrl_orderid.EnableWindow(TRUE);
	m_ctrl_end_date.EnableWindow(FALSE);
	m_ctrl_start_date.EnableWindow(FALSE);
	m_ctrl_content.EnableWindow(FALSE);
	cul_sel = 1;
}

void CPageOrderSearch::OnRadioDate() 
{
	//按日期查询的时候
	m_ctrl_orderid.EnableWindow(FALSE);
	m_ctrl_end_date.EnableWindow(TRUE);
	m_ctrl_start_date.EnableWindow(TRUE);
	m_ctrl_content.EnableWindow(FALSE);
	cul_sel = 2;
}

void CPageOrderSearch::OnRadioContent() 
{
	// 按订单内容查询的时候
	m_ctrl_orderid.EnableWindow(FALSE);
	m_ctrl_end_date.EnableWindow(FALSE);
	m_ctrl_start_date.EnableWindow(FALSE);
	m_ctrl_content.EnableWindow(TRUE);
	cul_sel = 3;
}

void CPageOrderSearch::ShowSearchList()
{
	m_list.DeleteAllItems();
	OrderList				list;
	CString					str;
	CNoteSendSystemApp * pApp = (CNoteSendSystemApp *)AfxGetApp();
	while (!record.IsEof())
	{
		record.GetValue("ID", list.order_id);
		record.GetValue("OrderStart", list.start_date);
		record.GetValue("OrderEnd", list.end_date);
		record.GetValue("Content", list.content);
		pApp->OrderListVect.push_back(list);
		record.MoveNext();
	}
	//显示到列表中
	int len = pApp->OrderListVect.size();

	for (int i=0; i<len; i++)
	{
		str.Format("%d", pApp->OrderListVect[i].order_id);
		m_list.InsertItem(i, str);
		str.Empty();
		
		//开始日期
		str = pApp->OrderListVect[i].start_date.Format("%Y-%m-%d");
		m_list.SetItemText(i, 1, str);
		str.Empty();
		//结束日期
		str = pApp->OrderListVect[i].end_date.Format("%Y-%m-%d");
		m_list.SetItemText(i, 2, str);
		str.Empty();
		//开始时间
		str = pApp->OrderListVect[i].start_date.Format("%H:%M:%S");
		m_list.SetItemText(i, 3, str);
		str.Empty();
		//结束时间
		str = pApp->OrderListVect[i].end_date.Format("%H:%M:%S");
		m_list.SetItemText(i, 4, str);
		str.Empty();
		//内容
		str.Format("%s", pApp->OrderListVect[i].content);
		m_list.SetItemText(i, 5, str);
		str.Empty();
	}
	pApp->OrderListVect.clear();
	//record.Release();
}

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

void CPageOrderSearch::OnCancle() 
{
	// TODO: Add your control notification handler code here
	
}

⌨️ 快捷键说明

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