📄 searchclientdlg.cpp
字号:
// SearchClientDlg.cpp : implementation file
//
#include "stdafx.h"
#include "CRM.h"
#include "SearchClientDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSearchClientDlg dialog
CSearchClientDlg::CSearchClientDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSearchClientDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSearchClientDlg)
m_address = _T("");
m_cellphone = _T("");
m_SELCB = FALSE;
m_clientID = _T("");
m_fax = _T("");
m_name = _T("");
m_sql = _T("select * from client where...");
m_ZHRB = FALSE;
m_PPRB = FALSE;
m_tel = _T("");
//}}AFX_DATA_INIT
}
void CSearchClientDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearchClientDlg)
DDX_Control(pDX, IDOK, m_okButton);
DDX_Control(pDX, IDCANCEL, m_cancelButton);
DDX_Text(pDX, IDC_ADDRESS, m_address);
DDX_Text(pDX, IDC_CELLPHONE, m_cellphone);
DDX_Check(pDX, IDC_CHECKSQL, m_SELCB);
DDX_Text(pDX, IDC_CLIENTID, m_clientID);
DDX_Text(pDX, IDC_FAX, m_fax);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_SQL, m_sql);
DDX_Radio(pDX, IDC_AND, m_ZHRB);
DDX_Radio(pDX, IDC_JQPP, m_PPRB);
DDX_Text(pDX, IDC_TEL, m_tel);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearchClientDlg, CDialog)
//{{AFX_MSG_MAP(CSearchClientDlg)
ON_BN_CLICKED(IDC_AND, OnAND)
ON_BN_CLICKED(IDC_JQPP, OnJQPP)
ON_BN_CLICKED(IDC_CHECKSQL, OnChecksql)
ON_BN_CLICKED(IDC_MHPP, OnMHPP)
ON_BN_CLICKED(IDC_OR, OnOR)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearchClientDlg message handlers
void CSearchClientDlg::OnOK()
{
CString strzhms;
CString strppms;
CString strtemp = _T("");
BOOL bflag = FALSE;
UpdateData(TRUE);
if(m_clientID.IsEmpty()&&m_name.IsEmpty()&&m_address.IsEmpty()
&&m_tel.IsEmpty()&&m_cellphone.IsEmpty()&&m_fax.IsEmpty()&&!m_SELCB)
{
AfxMessageBox("请输入的查询条件!",MB_ICONINFORMATION);
return;
}
if(CheckString(m_clientID) || CheckString(m_name) ||
CheckString(m_address) || CheckString(m_tel) || CheckString(m_cellphone) ||
CheckString(m_fax) )
{
AfxMessageBox("输入的查询信息中包涵非法字符,请重新输入。\n非法字符包括:[ ] ' % # \" ",MB_OK|MB_ICONSTOP);
return;
}
m_strFilter = _T("");
strzhms = (!m_ZHRB)?(_T(" AND ")):(_T(" OR "));
if(!m_PPRB)
{
strppms = _T(" = ");
}
else
{
strppms = _T(" LIKE ");
}
if(!m_clientID.IsEmpty())
{
if(!m_PPRB)
m_clientID = "'"+m_clientID+"'";
else
m_clientID = "'%%"+m_clientID+"%%'";
strtemp = "clientID"+strppms+m_clientID;
m_strFilter = strtemp;
bflag = TRUE;
}
if(!m_name.IsEmpty())
{
if(!m_PPRB)
m_name = "'"+m_name+"'";
else
m_name = "'%%"+m_name+"%%'";
strtemp = "name"+strppms+m_name;
m_strFilter += bflag?(strzhms+strtemp):strtemp;
bflag = TRUE;
}
if(!m_address.IsEmpty())
{
if(!m_PPRB)
m_address = "'"+m_address+"'";
else
m_address = "'%%"+m_address+"%%'";
strtemp = "address"+strppms+m_address;
m_strFilter += bflag?(strzhms+strtemp):strtemp;
bflag = TRUE;
}
if(!m_tel.IsEmpty())
{
if(!m_PPRB)
m_tel = "'"+m_tel+"'";
else
m_tel = "'%%"+m_tel+"%%'";
strtemp = "address"+strppms+m_tel;
m_strFilter += bflag?(strzhms+strtemp):strtemp;
bflag = TRUE;
}
if(!m_cellphone.IsEmpty())
{
if(!m_PPRB)
m_cellphone = "'"+m_cellphone+"'";
else
m_cellphone = "'%%"+m_cellphone+"%%'";
strtemp = "cellphone"+strppms+m_cellphone;
m_strFilter += bflag?(strzhms+strtemp):strtemp;
bflag = TRUE;
}
if(!m_fax.IsEmpty())
{
if(!m_PPRB)
m_fax = "'"+m_fax+"'";
else
m_fax = "'%%"+m_fax+"%%'";
strtemp = "fax"+strppms+m_fax;
m_strFilter += bflag?(strzhms+strtemp):strtemp;
bflag = TRUE;
}
if(m_SELCB)
{
m_strFilter=m_sql;
}
CDialog::OnOK();
}
void CSearchClientDlg::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
BOOL CSearchClientDlg::CheckString(CString &str)
{
char badchar[] = "[]'\"#%";
int i;
for(i=0;i<6;i++)
{
if(str.Find(badchar[i]) != -1)
return TRUE;
}
return FALSE;
}
void CSearchClientDlg::OnAND()
{
m_ZHRB=FALSE;
}
void CSearchClientDlg::OnJQPP()
{
m_PPRB=FALSE;
}
void CSearchClientDlg::OnChecksql()
{
static int i=0;
if(i%2)
{
((CEdit*)GetDlgItem(IDC_SQL))->SetReadOnly(TRUE);
m_SELCB=FALSE;
}
else
{
((CEdit*)GetDlgItem(IDC_SQL))->SetReadOnly(FALSE);
m_SELCB=TRUE;
}
i++;
}
void CSearchClientDlg::OnMHPP()
{
m_PPRB=TRUE;
}
void CSearchClientDlg::OnOR()
{
m_ZHRB=TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -