📄 search.cpp
字号:
// Search.cpp : implementation file
//
#include "stdafx.h"
#include "salarymanagement.h"
#include "Search.h"
#include "time.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSearch dialog
CSearch::CSearch(CWnd* pParent /*=NULL*/)
: CDialog(CSearch::IDD, pParent)
{
//{{AFX_DATA_INIT(CSearch)
m_value1 = _T("");
m_value2 = _T("");
//}}AFX_DATA_INIT
m_ado.OnInitADOConn();
}
CSearch::~CSearch()
{
m_ado.ExitConnect();
}
void CSearch::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearch)
DDX_Control(pDX, IDC_SHUXING_COMBO, m_shuxing);
DDX_Control(pDX, IDC_TIAOJIAN_COMBO, m_tiaojian);
DDX_Text(pDX, IDC_VALUE1_EDIT, m_value1);
DDX_Text(pDX, IDC_VALUE2_EDIT, m_value2);
DDX_Control(pDX, IDC_DATAGRID1, m_dataGrid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearch, CDialog)
//{{AFX_MSG_MAP(CSearch)
ON_BN_CLICKED(IDC_SEARCH, OnSearch)
ON_CBN_SELCHANGE(IDC_TIAOJIAN_COMBO, OnSelchangeTiaojianCombo)
ON_CBN_SELCHANGE(IDC_SHUXING_COMBO, OnSelchangeShuxingCombo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearch message handlers
void CSearch::OnCancel()
{
CDialog::OnCancel();
((CDialog*)this->GetParent())->EndDialog(IDCANCEL);
}
BOOL CSearch::OnInitDialog()
{
CDialog::OnInitDialog();
m_shuxing.AddString("员工ID");
m_shuxing.AddString("员工姓名");
m_shuxing.AddString("部门ID");
m_shuxing.AddString("性别");
m_shuxing.SetCurSel(0);
m_tiaojian.AddString("LIKE");
m_tiaojian.AddString(" = ");
m_tiaojian.AddString(" >= ");
m_tiaojian.AddString(" <= ");
m_tiaojian.AddString(" > ");
m_tiaojian.AddString(" < ");
m_tiaojian.AddString("BETWEEN AND");
m_tiaojian.SetCurSel(0);
GetDlgItem(IDC_VALUE2_EDIT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
SetDlgItemText(IDC_STATIC2,"值");
m_dataGrid.SetCaption("BasicInfomation");
CString sql="Select * From BasicInfomation";
_RecordsetPtr pRecordset;//pRecordset->CursorLocation = adUseClient;
pRecordset=m_ado.GetRecordSet("Select * From BasicInfomation");
m_dataGrid.SetRefDataSource((LPUNKNOWN)pRecordset);
m_dataGrid.Refresh();
return TRUE;
}
BEGIN_EVENTSINK_MAP(CSearch, CDialog)
//{{AFX_EVENTSINK_MAP(CSearch)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CSearch::OnSearch()
{
UpdateData();
CString shuxing,tiaojian,value1,value2;
m_shuxing.GetLBText(m_shuxing.GetCurSel(),shuxing);
m_tiaojian.GetLBText(m_tiaojian.GetCurSel(),tiaojian);
CString sql,dateBorn,age;
if(tiaojian=="BETWEEN AND")
sql.Format("Select * From BasicInfomation Where %s Between '%s' And '%s'",shuxing,m_value1,m_value2);
else if(tiaojian=="LIKE")
sql.Format("Select * From BasicInfomation Where %s Like '%s%%'",shuxing,m_value1);
else
sql.Format("Select * From BasicInfomation Where %s %s '%s'",shuxing,tiaojian,m_value1);
try{
//执行SQL语句,获得查询结果
_RecordsetPtr recordset;
recordset=m_ado.GetRecordSet(sql);
if(recordset->adoEOF)
{
MessageBox("记录不存在!请确定输入是否正确!");
m_value1="";
m_value2="";
}
m_dataGrid.SetRefDataSource((LPUNKNOWN)recordset);
m_dataGrid.Refresh();
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
void CSearch::OnSelchangeTiaojianCombo()
{
CString tiaojian;
m_tiaojian.GetLBText(m_tiaojian.GetCurSel(),tiaojian);
//当查询条件为"BETWEEN AND"时,输入信息为两个,此时显示两个编辑框以获得数据,否则为一个编辑框
if(tiaojian=="BETWEEN AND")
{
SetDlgItemText(IDC_STATIC2,"值1");
GetDlgItem(IDC_VALUE2_EDIT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_VALUE2_EDIT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
SetDlgItemText(IDC_STATIC2,"值");
}
}
void CSearch::OnSelchangeShuxingCombo()
{
m_tiaojian.ResetContent();
CString shuxing;
m_shuxing.GetLBText(m_shuxing.GetCurSel(),shuxing);
if(shuxing=="员工姓名")
{
m_tiaojian.AddString("LIKE");
m_tiaojian.AddString(" = ");
}
else if(shuxing=="性别")
{
m_tiaojian.AddString(" = ");
}
else
{
m_tiaojian.AddString("LIKE");
m_tiaojian.AddString(" = ");
m_tiaojian.AddString(" >= ");
m_tiaojian.AddString(" <= ");
m_tiaojian.AddString(" > ");
m_tiaojian.AddString(" < ");
m_tiaojian.AddString("BETWEEN AND");
}
m_tiaojian.SetCurSel(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -