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

📄 searchclientdlg.cpp

📁 一个简单的客户关系管理系统 用VisualC++写的 感pudn 对我的帮助 
💻 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 + -