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

📄 search.cpp

📁 这是采用mfc编写的工资管理系统
💻 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 + -