📄 pageordersearch.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 + -