www.pudn.com > rsdagl.rar > MainQuery.cpp


// MainQuery.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "人事管理系统.h" 
#include "MainQuery.h" 
#include ".\mainquery.h" 
#include "MainFrm.h" 
#include "AddDate.h" 
 
 
// CMainQuery 对话框 
 
IMPLEMENT_DYNAMIC(CMainQuery, CDialog) 
CMainQuery::CMainQuery(CWnd* pParent /*=NULL*/) 
	: CDialog(CMainQuery::IDD, pParent) 
	, m_pAddDate(NULL) 
	, IsShowDate(false) 
{ 
} 
 
CMainQuery::~CMainQuery() 
{ 
} 
 
void CMainQuery::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Control(pDX, IDC_LISTVIEW, m_listview); 
	DDX_Control(pDX, IDC_TREEVIEW, m_CtrlTree); 
} 
 
 
BEGIN_MESSAGE_MAP(CMainQuery, CDialog) 
	ON_WM_DESTROY() 
	ON_WM_SIZE() 
	ON_COMMAND(ID_ADD_RENSHI, OnAddRenshi) 
	ON_NOTIFY(NM_DBLCLK, IDC_TREEVIEW, OnNMDblclkTreeview) 
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREEVIEW, OnTvnSelchangedTreeview) 
	ON_NOTIFY(NM_DBLCLK, IDC_LISTVIEW, OnNMDblclkListview) 
	ON_NOTIFY(NM_CLICK, IDC_LISTVIEW, OnNMClickListview) 
	ON_WM_PAINT() 
END_MESSAGE_MAP() 
 
 
// CMainQuery 消息处理程序 
 
void CMainQuery::OnDestroy() 
{ 
 
	CDialog::OnDestroy(); 
	CMainFrame *pFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd); 
	pFrame->m_isMainQuery=false; 
	delete m_pAddDate; 
 
	// TODO: 在此处添加消息处理程序代码 
} 
 
BOOL CMainQuery::OnInitDialog() 
{ 
	CDialog::OnInitDialog(); 
 
	// TODO:  在此添加额外的初始化 
 
	//初始化列表 
	HICON hIcon=AfxGetApp()->LoadIcon(IDI_MAINQUERY); //设置图标 
	SetIcon(hIcon,FALSE); 
	//m_listview.ModifyStyle(0,LVS_SHOWSELALWAYS); 
    m_listview.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); 
	m_listview.SetTextColor(RGB(255,0,0));                  //显示字体的颜色 
	DWORD dwStyle = m_listview.GetStyle(); 
	dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT ; 
	m_listview.SetExtendedStyle(dwStyle); 
	m_listview.SetBkColor(RGB(209,223,232));             //选中此列是的颜色 
 	m_listview.SetTextBkColor(RGB(209,223,232)); 
 
	//1员工编号,2员工姓名,3性别,4专业,5学历,6出生年月,7毕业日期,8特长,9户口,10毕业学校,11家庭地址,12手机,13身份证号,14,婚姻状况, 
	//15,js,16,所属部门,17,当前职位,18,薪水等级,19,电子邮件,20,人事备注,21在职状况 
 
	m_listview.InsertColumn(0,"序号",LVCFMT_CENTER,38,0); 
	m_listview.InsertColumn(1,"编号",LVCFMT_CENTER,38,1); 
	m_listview.InsertColumn(2,"员工姓名",LVCFMT_CENTER,60,2); 
	m_listview.InsertColumn(3,"部门",LVCFMT_CENTER,70,3); 
	m_listview.InsertColumn(4,"性别",LVCFMT_CENTER,38,4); 
	m_listview.InsertColumn(5,"出生年月",LVCFMT_CENTER,60,5); 
	m_listview.InsertColumn(6,"民族",LVCFMT_CENTER,60,6); 
	m_listview.InsertColumn(7,"籍贯",LVCFMT_CENTER,70,7); 
	m_listview.InsertColumn(8,"婚姻状况",LVCFMT_CENTER,60,8); 
	m_listview.InsertColumn(9,"学历",LVCFMT_CENTER,50,9); 
	m_listview.InsertColumn(10,"职务",LVCFMT_CENTER,50,10); 
	m_listview.InsertColumn(11,"身份证号",LVCFMT_CENTER,102,11); 
	m_listview.InsertColumn(12,"手机",LVCFMT_CENTER,80,12); 
	m_listview.InsertColumn(13,"在职状况",LVCFMT_CENTER,60,13); 
	m_listview.InsertColumn(14,"薪水等级",LVCFMT_CENTER,60,14); 
 
//控件中显示.1员工编号2员工姓名3部门4性别5出生年月6民族7籍贯8婚姻状况9学历10职务11身份证号12手机13在职状况14薪水等级 
 
 
 
	//初始化树型控件 
 
    m_imagelist.Create(16,16,ILC_COLOR24,1,0); 
	m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_FLODER)); 
	m_CtrlTree.SetImageList(&m_imagelist,LVSIL_NORMAL); 
 
	m_CtrlTree.SetBKImage("system.dll"); 
	TVINSERTSTRUCT tvInsert; 
	tvInsert.hParent = NULL; 
	tvInsert.hInsertAfter = NULL; 
	tvInsert.item.mask= TVIF_TEXT; 
	tvInsert.item.pszText=_T("人事管理系统v 1.0版"); 
	HTREEITEM hCountry = m_CtrlTree.InsertItem(&tvInsert); 
	HTREEITEM hPA = m_CtrlTree.InsertItem(TVIF_TEXT,_T("在职员工"),0,0,0,0,0,hCountry,NULL); 
	HTREEITEM hWA = m_CtrlTree.InsertItem(_T("待定员工"),0,0,hCountry,hPA); 
	 
	m_CtrlTree.InsertItem(_T("总经理室"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("副总经理室"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("销售部门"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("采购部门"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("生产部门"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("财务部门"),hPA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("待聘员工"),hWA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("离职员工"),hWA,TVI_SORT); 
	m_CtrlTree.InsertItem(_T("退休员工"),hWA,TVI_SORT); 
	m_CtrlTree.Expand(hCountry,TVE_EXPAND); 
	//从数据库中查询并初始化值 
 
	return TRUE;  // return TRUE unless you set the focus to a control 
	// 异常: OCX 属性页应返回 FALSE 
} 
 
void CMainQuery::OnSize(UINT nType, int cx, int cy) 
{ 
	CDialog::OnSize(nType, cx, cy); 
	CRect rect; 
	GetClientRect(rect); 
	m_listview.MoveWindow(125,0,rect.right-125,rect.bottom-18); 
	m_CtrlTree.MoveWindow(0,0,123,rect.bottom-18); 
 
 
	// TODO: 在此处添加消息处理程序代码 
} 
 
bool CMainQuery::InitAllDate(void) 
{	 
	InitDatabase(); 
	try 
	{ 
	 
		m_pRecordset->MoveFirst(); 
		int number=0; 
		int number2=1; 
		while(!m_pRecordset->adoEOF) 
		{ 
			//控件中显示.1员工编号,2员工姓名,3部门,4性别,5出生年月,6民族,7籍贯,8婚姻状况,9学历, 
			//10职务,11身份证号,12手机,13在职状况,14薪水等级         
			CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
			_variant_t vygbh,vygxm,vbm, vxb,vcsny,vmz,vjg,vhyzk,vxl,vzw,vsfzh,vsj,vzzzk,vxsdj; 
 
			vygbh=m_pRecordset->GetCollect("员工编号");			//1 
			if(vygbh.vt!=VT_NULL) 
				Cygbh=(LPCSTR)_bstr_t(vygbh);	 
				vygxm=m_pRecordset->GetCollect("员工姓名");		//2 
			if(vygxm.vt!=VT_NULL) 
				Cygxm=(LPCSTR)_bstr_t(vygxm); 
				vbm=m_pRecordset->GetCollect("所属部门");		//3 
			if(vbm.vt!=VT_NULL) 
				Cbm=(LPCSTR)_bstr_t(vbm); 
				vxb=m_pRecordset->GetCollect("性别");			//4 
			if(vxb.vt!=VT_NULL) 
				Cxb=(LPCSTR)_bstr_t(vxb);	 
				vcsny=m_pRecordset->GetCollect("出生年月");		//5 
			if(vcsny.vt!=VT_NULL) 
				Ccsny=(LPCSTR)_bstr_t(vcsny); 
				vmz=m_pRecordset->GetCollect("民族");		//6 //待定! 
			if(vmz.vt!=VT_NULL) 
				Cmz=(LPCSTR)_bstr_t(vmz); 
				vjg=m_pRecordset->GetCollect("户口");			//7  
			if(vjg.vt!=VT_NULL) 
				Cjg=(LPCSTR)_bstr_t(vjg); 
				vhyzk=m_pRecordset->GetCollect("婚姻状况");		//8 
			if(vhyzk.vt!=VT_NULL) 
				Chyzk=(LPCSTR)_bstr_t(vhyzk); 
				vxl=m_pRecordset->GetCollect("学历");			//9 
			if(vxl.vt!=VT_NULL) 
				Cxl=(LPCSTR)_bstr_t(vxl);	 
				vzw=m_pRecordset->GetCollect("当前职位");		//10 
			if(vzw.vt!=VT_NULL) 
				Czw=(LPCSTR)_bstr_t(vzw);	 
				vsfzh=m_pRecordset->GetCollect("身份证号");	//11 
			if(vsfzh.vt!=VT_NULL) 
				Csfzh=(LPCSTR)_bstr_t(vsfzh); 
				vsj=m_pRecordset->GetCollect("手机");			//12 
			if(vsj.vt!=VT_NULL) 
				Csj=(LPCSTR)_bstr_t(vsj); 
				vzzzk=m_pRecordset->GetCollect("在职状况");		//13 
			if(vzzzk.vt!=VT_NULL) 
				Czzzk=(LPCSTR)_bstr_t(vzzzk); 
				vxsdj=m_pRecordset->GetCollect("薪水等级");		//14 
			if(vxsdj.vt!=VT_NULL) 
				Cxsdj=(LPCSTR)_bstr_t(vxsdj); 
			 
			 
			//控件中显示.1员工编号,2员工姓名,3部门,4性别,5出生年月,6民族,7籍贯,8婚姻状况,9学历, 
			//10职务,11身份证号,12手机,13在职状况,14薪水等级         
			//CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
			CString ct; 
			ct.Format("%d",number2); 
			m_listview.InsertItem(number,ct); 
			m_listview.SetItemText(number,1,Cygbh); 
			m_listview.SetItemText(number,2,Cygxm); 
			m_listview.SetItemText(number,3,Cbm); 
			m_listview.SetItemText(number,4,Cxb); 
			m_listview.SetItemText(number,5,Ccsny); 
			m_listview.SetItemText(number,6,Cmz); 
			m_listview.SetItemText(number,7,Cjg); 
			m_listview.SetItemText(number,8,Chyzk); 
			m_listview.SetItemText(number,9,Cxl); 
			m_listview.SetItemText(number,10,Czw); 
			m_listview.SetItemText(number,11,Csfzh); 
			m_listview.SetItemText(number,12,Csj); 
			m_listview.SetItemText(number,13,Czzzk); 
			m_listview.SetItemText(number,14,Cxsdj); 
			m_pRecordset->MoveNext(); 
			number++; 
			number2++; 
		} 
	} 
	catch(_com_error e) 
	{ 
		MessageBox("CMainQuery类查数据库出错!"); 
		return false; 
	} 
	m_pRecordset->Close(); 
     
 
	return true; 
} 
 
 
bool CMainQuery::InitDatabase(void) 
{ 
	m_pRecordset.CreateInstance(_uuidof(Recordset)); 
	try 
	{ 
		m_pRecordset->Open("SELECT * FROM 基本信息 ORDER BY 员工编号",theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
	} 
	catch(_com_error se) 
	{ 
		AfxMessageBox(se.ErrorMessage()); 
		return false; 
	} 
	return true; 
} 
 
void CMainQuery::OnAddRenshi() 
{ 
	// TODO: 在此添加命令处理程序代码 
    CAddDate cs; 
	cs.DoModal(); 
 
} 
 
void CMainQuery::OnCancel() 
{ 
	// TODO: 在此添加专用代码和/或调用基类 
	CDialog::OnCancel(); 
} 
 
void CMainQuery::OnNMDblclkTreeview(NMHDR *pNMHDR, LRESULT *pResult) 
{ 
	// TODO: 在此添加控件通知处理程序代码 
 
	*pResult = 0; 
} 
 
void CMainQuery::OnTvnSelchangedTreeview(NMHDR *pNMHDR, LRESULT *pResult) 
{ 
	LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR); 
	// TODO: 在此添加控件通知处理程序代码 
 
	char info[50]; 
	memset(info,0,50); 
	HTREEITEM pSelected=pNMTreeView->itemNew.hItem; 
	CTreeCtrl *pTree=(CTreeCtrl *)GetDlgItem(IDC_TREEVIEW); 
 
	TV_ITEM item; 
	item.mask=TVIF_HANDLE|TVIF_TEXT; 
	item.hItem=pSelected; 
	item.pszText=info; 
	item.cchTextMax=20; 
	VERIFY(pTree->GetItem(&item)); 
	CString SelectInfo=info; 
	if(strcmp(SelectInfo,"人事管理系统v 1.0版")==0) 
	{ 
		m_listview.DeleteAllItems(); 
		InitDatabase(); 
		InitAllDate(); 
	} 
	if(strcmp(SelectInfo,"总经理室")==0) 
	{ 
		m_listview.DeleteAllItems(); 
		OnSelectZJL(); 
	} 
	if(strcmp(SelectInfo,"在职员工")==0) 
	{ 
		m_listview.DeleteAllItems(); 
		CString cs; 
		cs="在职"; 
		SelectZZYG(cs); 
	} 
	if(strcmp(SelectInfo,"副总经理室")==0) 
		OnSelectFZJL(); 
	if(strcmp(SelectInfo,"销售部门")==0) 
		OnSelectXSBM(); 
	if(strcmp(SelectInfo,"采购部门")==0) 
		OnSelectCGBM(); 
	if(strcmp(SelectInfo,"生产部门")==0) 
		OnSelectSCBM(); 
	if(strcmp(SelectInfo,"财务部门")==0) 
		OnSelectCWBM(); 
	if(strcmp(SelectInfo,"待聘员工")==0) 
	{ 
		CString cs; 
		cs="待聘"; 
		SelectZZYG(cs); 
	} 
	if(strcmp(SelectInfo,"离职员工")==0) 
	{ 
		CString cs; 
		cs="离职"; 
		SelectZZYG(cs); 
	} 
	if(strcmp(SelectInfo,"退休员工")==0) 
	{ 
		CString cs; 
		cs="退休"; 
		SelectZZYG(cs); 
	} 
	 
 
	*pResult = 0; 
} 
bool CMainQuery::OnSelectZJL() 
{ 
	CString c1,c2; 
	c1="总经理室"; 
	c2="在职"; 
	SelectItems(c1,c2); 
 
	return true; 
} 
 
bool CMainQuery::OnSelectFZJL() 
{ 
	CString c1,c2; 
	c1="副总经理室"; 
	c2="在职"; 
	SelectItems(c1,c2); 
 
	return true; 
} 
bool CMainQuery::OnSelectXSBM() 
{ 
	CString c1,c2; 
	c1="销售部门"; 
	c2="在职"; 
	SelectItems(c1,c2,false); 
	return true; 
} 
bool CMainQuery::OnSelectCGBM() 
{ 
	CString c1,c2; 
	c1="采购部门"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
bool CMainQuery::OnSelectSCBM() 
{ 
	CString c1,c2; 
	c1="生产部门"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
bool CMainQuery::OnSelectCWBM() 
{ 
	CString c1,c2; 
	c1="财务部门"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
bool CMainQuery::OnselectDPYG() 
{ 
	CString c1,c2; 
	c1="待聘员工"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
bool CMainQuery::OnselectLZYG() 
{ 
	CString c1,c2; 
	c1="离职员工"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
bool CMainQuery::OnselectTXYG() 
{ 
	CString c1,c2; 
	c1="退休员工"; 
	c2="在职"; 
	SelectItems(c1,c2); 
	return true; 
} 
 
bool CMainQuery::SelectItem(CString item,CString item2,bool isSelectAll) //item 查询内容,item2 查询表段 
{ 
 	m_listview.DeleteAllItems(); 
	InitDatabase(); 
	_variant_t vselect; 
	int number=0; 
	int number2=1; 
	CString temp; 
	try 
	{ 
		m_pRecordset->MoveFirst(); 
		while(!m_pRecordset->adoEOF) 
		{ 
			vselect=m_pRecordset->GetCollect(_variant_t(item2)); 
			if(vselect.vt!=VT_NULL) 
			{ 
				temp=(LPCSTR)_bstr_t(vselect); 
				if(strcmp(temp,item)==0) 
				{ 
					CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
					_variant_t vygbh,vygxm,vbm, vxb,vcsny,vmz,vjg,vhyzk,vxl,vzw,vsfzh,vsj,vzzzk,vxsdj; 
 
					//在双击后响应的事件体内容!- -!好多```哎 程序员 
					//不要乱:(   
					//1.专业,2.毕业日期,3.特长,4毕业学校,5家庭地址,6,电子邮件,7,人事备注 
					CString Czy,Cbyrq,Ctc,Cbyxx,Cjtdz,Cdzyj,Crsbz; 
					_variant_t vzy,vbyrq,vtc,vbyxx,vjtdz,vdzyj,vrsbz; 
					vygbh=m_pRecordset->GetCollect("员工编号");			//1 
					if(vygbh.vt!=VT_NULL) 
						Cygbh=(LPCSTR)_bstr_t(vygbh);	 
						vygxm=m_pRecordset->GetCollect("员工姓名");		//2 
					if(vygxm.vt!=VT_NULL) 
						Cygxm=(LPCSTR)_bstr_t(vygxm); 
						vbm=m_pRecordset->GetCollect("所属部门");		//3 
					if(vbm.vt!=VT_NULL) 
						Cbm=(LPCSTR)_bstr_t(vbm); 
						vxb=m_pRecordset->GetCollect("性别");			//4 
					if(vxb.vt!=VT_NULL) 
						Cxb=(LPCSTR)_bstr_t(vxb);	 
						vcsny=m_pRecordset->GetCollect("出生年月");		//5 
					if(vcsny.vt!=VT_NULL) 
						Ccsny=(LPCSTR)_bstr_t(vcsny); 
						vmz=m_pRecordset->GetCollect("民族");			//6  
					if(vmz.vt!=VT_NULL) 
						Cmz=(LPCSTR)_bstr_t(vmz); 
						vjg=m_pRecordset->GetCollect("户口");			//7  
					if(vjg.vt!=VT_NULL) 
						Cjg=(LPCSTR)_bstr_t(vjg); 
						vhyzk=m_pRecordset->GetCollect("婚姻状况");		//8 
					if(vhyzk.vt!=VT_NULL) 
						Chyzk=(LPCSTR)_bstr_t(vhyzk); 
						vxl=m_pRecordset->GetCollect("学历");			//9 
					if(vxl.vt!=VT_NULL) 
						Cxl=(LPCSTR)_bstr_t(vxl);	 
						vzw=m_pRecordset->GetCollect("当前职位");		//10 
					if(vzw.vt!=VT_NULL) 
						Czw=(LPCSTR)_bstr_t(vzw);	 
						vsfzh=m_pRecordset->GetCollect("身份证号");		//11 
					if(vsfzh.vt!=VT_NULL) 
						Csfzh=(LPCSTR)_bstr_t(vsfzh); 
						vsj=m_pRecordset->GetCollect("手机");			//12 
					if(vsj.vt!=VT_NULL) 
						Csj=(LPCSTR)_bstr_t(vsj); 
						vzzzk=m_pRecordset->GetCollect("在职状况");		//13 
					if(vzzzk.vt!=VT_NULL) 
						Czzzk=(LPCSTR)_bstr_t(vzzzk); 
						vxsdj=m_pRecordset->GetCollect("薪水等级");		//14 
					if(vxsdj.vt!=VT_NULL) 
						Cxsdj=(LPCSTR)_bstr_t(vxsdj);	 
 
					if(isSelectAll==false) 
					{				 
						//控件中显示.1员工编号,2员工姓名,3部门,4性别,5出生年月,6民族,7籍贯,8婚姻状况,9学历, 
						//10职务,11身份证号,12手机,13在职状况,14薪水等级         
						//CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
						CString ct; 
						ct.Format("%d",number2); 
						m_listview.InsertItem(number,ct); 
						m_listview.SetItemText(number,1,Cygbh); 
						m_listview.SetItemText(number,2,Cygxm); 
						m_listview.SetItemText(number,3,Cbm); 
						m_listview.SetItemText(number,4,Cxb); 
						m_listview.SetItemText(number,5,Ccsny); 
						m_listview.SetItemText(number,6,Cmz); 
						m_listview.SetItemText(number,7,Cjg); 
						m_listview.SetItemText(number,8,Chyzk); 
						m_listview.SetItemText(number,9,Cxl); 
						m_listview.SetItemText(number,10,Czw); 
						m_listview.SetItemText(number,11,Csfzh); 
						m_listview.SetItemText(number,12,Csj); 
						m_listview.SetItemText(number,13,Czzzk); 
						m_listview.SetItemText(number,14,Cxsdj);	 
						number++; 
						number2++;		 
					} 
					// 
					//1.专业,2.毕业日期,3.特长,4毕业学校,5家庭地址,6,电子邮件,7,人事备注 
					//CString Czy,Cbyrq,Ctc,Cbyxx,Cjtdz,Cdzyj,Crsbz; 
					//_variant_t vzy,vbyrq,vtc,vbyxx,vjtdz,vdzyj,vrsbz; 
					if(isSelectAll==true) 
					{ 
							vzy=m_pRecordset->GetCollect("专业");		//14 
						if(vzy.vt!=VT_NULL) 
							Czy=(LPCSTR)_bstr_t(vzy);	 
							vbyrq=m_pRecordset->GetCollect("毕业日期");		//14 
						if(vbyrq.vt!=VT_NULL) 
							Cbyrq=(LPCSTR)_bstr_t(vbyrq);	 
							vtc=m_pRecordset->GetCollect("特长");		//14 
						if(vtc.vt!=VT_NULL) 
							Ctc=(LPCSTR)_bstr_t(vtc);	 
							vbyxx=m_pRecordset->GetCollect("毕业学校");		//14 
						if(vbyxx.vt!=VT_NULL) 
							Cbyxx=(LPCSTR)_bstr_t(vbyxx);	 
							vjtdz=m_pRecordset->GetCollect("家庭地址");		//14 
						if(vjtdz.vt!=VT_NULL) 
							Cjtdz=(LPCSTR)_bstr_t(vjtdz);	 
							vdzyj=m_pRecordset->GetCollect("电子邮件");		//14 
						if(vdzyj.vt!=VT_NULL) 
							Cdzyj=(LPCSTR)_bstr_t(vdzyj);	 
							vrsbz=m_pRecordset->GetCollect("人事备注");		//14 
						if(vrsbz.vt!=VT_NULL) 
							Crsbz=(LPCSTR)_bstr_t(vrsbz);	 
 
 
						//控件中显示.1员工编号,2员工姓名,3部门,4性别,5出生年月,6民族,7籍贯,8婚姻状况,9学历, 
			//10职务,11身份证号,12手机,13在职状况,14薪水等级   
						//CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
						m_pAddDate->SetDlgItemText(IDC_YGBH,Cygbh); 
						m_pAddDate->SetDlgItemText(IDC_YGXM,Cygxm); 
						m_pAddDate->SetDlgItemText(IDC_SSBM,Cbm); 
						m_pAddDate->SetDlgItemText(IDC_XB,Cxb); 
						m_pAddDate->SetDlgItemText(IDC_CSNY,Ccsny); 
						m_pAddDate->SetDlgItemText(IDC_MZ,Cmz); 
						m_pAddDate->SetDlgItemText(IDC_HK,Cjg); 
						m_pAddDate->SetDlgItemText(IDC_HYZK,Chyzk); 
						m_pAddDate->SetDlgItemText(IDC_XL,Cxl); 
						m_pAddDate->SetDlgItemText(IDC_DQZW,Czw); 
						m_pAddDate->SetDlgItemText(IDC_SFZH,Csfzh); 
						m_pAddDate->SetDlgItemText(IDC_SJHM,Csj); 
						m_pAddDate->SetDlgItemText(IDC_ZZZKD,Czzzk); 
						m_pAddDate->SetDlgItemText(IDC_XSDJ,Cxsdj); 
						//1.专业,2.毕业日期,3.特长,4毕业学校,5家庭地址,6,电子邮件,7,人事备注 
					//CString Czy,Cbyrq,Ctc,Cbyxx,Cjtdz,Cdzyj,Crsbz; 
					//_variant_t vzy,vbyrq,vtc,vbyxx,vjtdz,vdzyj,vrsbz; 
						m_pAddDate->SetDlgItemText(IDC_ZY,Czy); 
						m_pAddDate->SetDlgItemText(IDC_BYRQ,Cbyrq); 
						m_pAddDate->SetDlgItemText(IDC_TC,Ctc); 
						m_pAddDate->SetDlgItemText(IDC_BYXX,Cbyxx); 
						m_pAddDate->SetDlgItemText(IDC_JTDZ,Cjtdz); 
						m_pAddDate->SetDlgItemText(IDC_DZYJ,Cdzyj); 
						m_pAddDate->SetDlgItemText(IDC_BZ,Crsbz); 
						isSelectAll=false; 
						return false;														 
					} 
					 
				} 
			} 
			m_pRecordset->MoveNext(); 
		} 
	} 
	catch(_com_error e) 
	{ 
		MessageBox("查询数据库表段出错!调试"); 
		return false; 
	} 
	return true; 
 
} 
 
void CMainQuery::OnNMDblclkListview(NMHDR *pNMHDR, LRESULT *pResult) 
{ 
	if(theApp.m_quanxian=="0") 
	{ 
		MessageBox("您无此权限!"); 
		return; 
	} 
	// TODO: 在此添加控件通知处理程序代码 
	if(!IsShowDate) 
	{ 
		m_pAddDate = new CAddDate(); 
		m_pAddDate->Create(IDD_ADDDATE); 
		m_pAddDate->ShowWindow(SW_SHOW); 
		IsShowDate=true; 
	} 
	else 
	{ 
		m_pAddDate->ShowWindow(SW_SHOW); 
	} 
	int i=m_listview.GetSelectionMark(); 
    CString temp,temp2; 
	temp=m_listview.GetItemText(i,1); //获取当前字段以便查询数据库。 
	temp2="员工编号"; 
	SelectItem(temp,temp2,true); 
	InitDatabase(); 
	InitAllDate(); 
	m_pAddDate->ShowPhoto(i); //当双击的时候显示照片 
	m_pAddDate->m_Records=i; 
	m_pAddDate->GetDlgItem(IDC_ADD2)->EnableWindow(true); 
	m_pAddDate->GetDlgItem(IDC_ADD3)->EnableWindow(true); 
	m_pAddDate->GetDlgItem(IDC_ADD)->EnableWindow(false); 
	 
 
	*pResult = 0; 
} 
 
void CMainQuery::OnNMClickListview(NMHDR *pNMHDR, LRESULT *pResult) 
{ 
	// TODO: 在此添加控件通知处理程序代码 
 
	*pResult = 0; 
} 
 
void CMainQuery::OnOK() 
{ 
	// TODO: 在此添加专用代码和/或调用基类 
	 
	CDialog::OnOK(); 
} 
 
void CMainQuery::OnPaint() 
{ 
	 // device context for painting 
	// TODO: 在此处添加消息处理程序代码 
	// 不为绘图消息调用 CDialog::OnPaint() 
	CBitmap m_bmpBackground; 
	m_bmpBackground.LoadBitmap(IDB_BKALLIMG); 
	CPaintDC dc(this);				//对话框的dc	 
	CDC dcMem;  
	dcMem.CreateCompatibleDC(&dc);   //创建与对话框dc兼容的内存dc	 
	CRect rect;	 
	GetClientRect(&rect);	 
	BITMAP bitMap; 
	m_bmpBackground.GetBitmap(&bitMap);	 
	CBitmap *pbmpOld=dcMem.SelectObject(&m_bmpBackground);		//将背景位图选入内存dc中 
	dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);   //将内存dc中的位图拉伸显示在对话框的dc中 
} 
 
void CMainQuery::SelectItems(CString item1,CString item2,bool isSelectAll ) 
{ 
	int number=0; 
	int number2=1; 
	m_listview.DeleteAllItems(); 
	try 
	{ 
		CString Sqlcommand; 
		 
		Sqlcommand.Format("SELECT * FROM 基本信息 WHERE 所属部门='%s' AND 在职状况='%s'",item1,item2); 
		bstr_t sqlQuery = Sqlcommand; 
		m_pRecordset.CreateInstance(_uuidof(Recordset)); 
		m_pRecordset->Open(_variant_t(Sqlcommand),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
		 
		CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
		_variant_t vygbh,vygxm,vbm, vxb,vcsny,vmz,vjg,vhyzk,vxl,vzw,vsfzh,vsj,vzzzk,vxsdj; 
 
		 
		//1.专业,2.毕业日期,3.特长,4毕业学校,5家庭地址,6,电子邮件,7,人事备注	 
		CString Czy,Cbyrq,Ctc,Cbyxx,Cjtdz,Cdzyj,Crsbz;	 
		_variant_t vzy,vbyrq,vtc,vbyxx,vjtdz,vdzyj,vrsbz;	 
 
		while(!m_pRecordset->adoEOF) 
		{ 
 
			vygbh=m_pRecordset->GetCollect("员工编号");			//1	 
			if(vygbh.vt!=VT_NULL)	 
				Cygbh=(LPCSTR)_bstr_t(vygbh);	 
			vygxm=m_pRecordset->GetCollect("员工姓名");		//2 
			if(vygxm.vt!=VT_NULL) 
				Cygxm=(LPCSTR)_bstr_t(vygxm); 
			vbm=m_pRecordset->GetCollect("所属部门");		//3 
			if(vbm.vt!=VT_NULL) 
				Cbm=(LPCSTR)_bstr_t(vbm); 
			vxb=m_pRecordset->GetCollect("性别");			//4	 
			if(vxb.vt!=VT_NULL) 
				Cxb=(LPCSTR)_bstr_t(vxb);	 
			vcsny=m_pRecordset->GetCollect("出生年月");		//5 
			if(vcsny.vt!=VT_NULL) 
				Ccsny=(LPCSTR)_bstr_t(vcsny); 
			vmz=m_pRecordset->GetCollect("民族");			//6  
			if(vmz.vt!=VT_NULL) 
				Cmz=(LPCSTR)_bstr_t(vmz);	 
			vjg=m_pRecordset->GetCollect("户口");			//7 	 
			if(vjg.vt!=VT_NULL)	 
				Cjg=(LPCSTR)_bstr_t(vjg); 
			vhyzk=m_pRecordset->GetCollect("婚姻状况");		//8 
			if(vhyzk.vt!=VT_NULL) 
				Chyzk=(LPCSTR)_bstr_t(vhyzk); 
			vxl=m_pRecordset->GetCollect("学历");			//9 
			if(vxl.vt!=VT_NULL) 
				Cxl=(LPCSTR)_bstr_t(vxl);	 
			vzw=m_pRecordset->GetCollect("当前职位");		//10 
			if(vzw.vt!=VT_NULL) 
				Czw=(LPCSTR)_bstr_t(vzw);	 
			vsfzh=m_pRecordset->GetCollect("身份证号");		//11 
			if(vsfzh.vt!=VT_NULL) 
				Csfzh=(LPCSTR)_bstr_t(vsfzh); 
			vsj=m_pRecordset->GetCollect("手机");			//12 
			if(vsj.vt!=VT_NULL) 
				Csj=(LPCSTR)_bstr_t(vsj);	 
			vzzzk=m_pRecordset->GetCollect("在职状况");		//13	 
			if(vzzzk.vt!=VT_NULL) 
				Czzzk=(LPCSTR)_bstr_t(vzzzk); 
			vxsdj=m_pRecordset->GetCollect("薪水等级");		//14	 
			if(vxsdj.vt!=VT_NULL) 
				Cxsdj=(LPCSTR)_bstr_t(vxsdj);			 
			if(isSelectAll==false) 
			{				 
				CString ct;	 
				ct.Format("%d",number2);	 
				m_listview.InsertItem(number,ct);	 
				m_listview.SetItemText(number,1,Cygbh);	 
				m_listview.SetItemText(number,2,Cygxm);	 
				m_listview.SetItemText(number,3,Cbm);	 
				m_listview.SetItemText(number,4,Cxb);		 
				m_listview.SetItemText(number,5,Ccsny);		 
				m_listview.SetItemText(number,6,Cmz);	 
				m_listview.SetItemText(number,7,Cjg);		 
				m_listview.SetItemText(number,8,Chyzk);	 
				m_listview.SetItemText(number,9,Cxl);	 
				m_listview.SetItemText(number,10,Czw);	 
				m_listview.SetItemText(number,11,Csfzh);	 
				m_listview.SetItemText(number,12,Csj);	 
				m_listview.SetItemText(number,13,Czzzk); 
				m_listview.SetItemText(number,14,Cxsdj);	 
				number++;		 
				number2++;				 
			} 
			 
			if(isSelectAll==true) 
			{	 
				vzy=m_pRecordset->GetCollect("专业");		//14 
				if(vzy.vt!=VT_NULL) 
					Czy=(LPCSTR)_bstr_t(vzy);	 
				vbyrq=m_pRecordset->GetCollect("毕业日期");		//14 
				if(vbyrq.vt!=VT_NULL) 
					Cbyrq=(LPCSTR)_bstr_t(vbyrq);	 
				vtc=m_pRecordset->GetCollect("特长");		//14 
				if(vtc.vt!=VT_NULL) 
					Ctc=(LPCSTR)_bstr_t(vtc);	 
				vbyxx=m_pRecordset->GetCollect("毕业学校");		//14 
				if(vbyxx.vt!=VT_NULL) 
					Cbyxx=(LPCSTR)_bstr_t(vbyxx);	 
				vjtdz=m_pRecordset->GetCollect("家庭地址");		//14	 
				if(vjtdz.vt!=VT_NULL) 
					Cjtdz=(LPCSTR)_bstr_t(vjtdz);	 
				vdzyj=m_pRecordset->GetCollect("电子邮件");		//14 
				if(vdzyj.vt!=VT_NULL)	 
					Cdzyj=(LPCSTR)_bstr_t(vdzyj);		 
				vrsbz=m_pRecordset->GetCollect("人事备注");		//14	 
				if(vrsbz.vt!=VT_NULL)	 
					Crsbz=(LPCSTR)_bstr_t(vrsbz);	 
				m_pAddDate->SetDlgItemText(IDC_YGBH,Cygbh);	 
				m_pAddDate->SetDlgItemText(IDC_YGXM,Cygxm);	 
				m_pAddDate->SetDlgItemText(IDC_SSBM,Cbm);	 
				m_pAddDate->SetDlgItemText(IDC_XB,Cxb);	 
				m_pAddDate->SetDlgItemText(IDC_CSNY,Ccsny);	 
				m_pAddDate->SetDlgItemText(IDC_MZ,Cmz);	 
				m_pAddDate->SetDlgItemText(IDC_HK,Cjg);	 
				m_pAddDate->SetDlgItemText(IDC_HYZK,Chyzk);	 
				m_pAddDate->SetDlgItemText(IDC_XL,Cxl);	 
				m_pAddDate->SetDlgItemText(IDC_DQZW,Czw);	 
				m_pAddDate->SetDlgItemText(IDC_SFZH,Csfzh);	 
				m_pAddDate->SetDlgItemText(IDC_SJHM,Csj);	 
				m_pAddDate->SetDlgItemText(IDC_ZZZKD,Czzzk);	 
				m_pAddDate->SetDlgItemText(IDC_XSDJ,Cxsdj);				 
				m_pAddDate->SetDlgItemText(IDC_ZY,Czy);	 
				m_pAddDate->SetDlgItemText(IDC_BYRQ,Cbyrq);	 
				m_pAddDate->SetDlgItemText(IDC_TC,Ctc);	 
				m_pAddDate->SetDlgItemText(IDC_BYXX,Cbyxx);	 
				m_pAddDate->SetDlgItemText(IDC_JTDZ,Cjtdz);	 
				m_pAddDate->SetDlgItemText(IDC_DZYJ,Cdzyj);	 
				m_pAddDate->SetDlgItemText(IDC_BZ,Crsbz);		 
				isSelectAll=false;	 
																 
			 
			}				 
			m_pRecordset->MoveNext(); 
		} 
		m_pRecordset->Close(); 
	} 
	 
 
	catch(_com_error e) 
	{ 
			 
	} 
 
} 
void CMainQuery::SelectZZYG(CString item) 
{ 
	int number=0; 
	int number2=1; 
	m_listview.DeleteAllItems(); 
	try 
	{ 
		CString Sqlcommand; 
		 
		Sqlcommand.Format("SELECT * FROM 基本信息 WHERE 在职状况='%s'",item); 
		bstr_t sqlQuery = Sqlcommand; 
		m_pRecordset.CreateInstance(_uuidof(Recordset)); 
		m_pRecordset->Open(_variant_t(Sqlcommand),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
		 
		CString	Cygbh,Cygxm,Cbm,Cxb,Ccsny,Cmz,Cjg,Chyzk, Cxl,Czw,Csfzh,Csj,Czzzk,Cxsdj; 
		_variant_t vygbh,vygxm,vbm, vxb,vcsny,vmz,vjg,vhyzk,vxl,vzw,vsfzh,vsj,vzzzk,vxsdj; 
 
		 
		//1.专业,2.毕业日期,3.特长,4毕业学校,5家庭地址,6,电子邮件,7,人事备注	 
		CString Czy,Cbyrq,Ctc,Cbyxx,Cjtdz,Cdzyj,Crsbz;	 
		_variant_t vzy,vbyrq,vtc,vbyxx,vjtdz,vdzyj,vrsbz;	 
 
		while(!m_pRecordset->adoEOF) 
		{ 
 
			vygbh=m_pRecordset->GetCollect("员工编号");			//1	 
			if(vygbh.vt!=VT_NULL)	 
				Cygbh=(LPCSTR)_bstr_t(vygbh);	 
			vygxm=m_pRecordset->GetCollect("员工姓名");		//2 
			if(vygxm.vt!=VT_NULL) 
				Cygxm=(LPCSTR)_bstr_t(vygxm); 
			vbm=m_pRecordset->GetCollect("所属部门");		//3 
			if(vbm.vt!=VT_NULL) 
				Cbm=(LPCSTR)_bstr_t(vbm); 
			vxb=m_pRecordset->GetCollect("性别");			//4	 
			if(vxb.vt!=VT_NULL) 
				Cxb=(LPCSTR)_bstr_t(vxb);	 
			vcsny=m_pRecordset->GetCollect("出生年月");		//5 
			if(vcsny.vt!=VT_NULL) 
				Ccsny=(LPCSTR)_bstr_t(vcsny); 
			vmz=m_pRecordset->GetCollect("民族");			//6  
			if(vmz.vt!=VT_NULL) 
				Cmz=(LPCSTR)_bstr_t(vmz);	 
			vjg=m_pRecordset->GetCollect("户口");			//7 	 
			if(vjg.vt!=VT_NULL)	 
				Cjg=(LPCSTR)_bstr_t(vjg); 
			vhyzk=m_pRecordset->GetCollect("婚姻状况");		//8 
			if(vhyzk.vt!=VT_NULL) 
				Chyzk=(LPCSTR)_bstr_t(vhyzk); 
			vxl=m_pRecordset->GetCollect("学历");			//9 
			if(vxl.vt!=VT_NULL) 
				Cxl=(LPCSTR)_bstr_t(vxl);	 
			vzw=m_pRecordset->GetCollect("当前职位");		//10 
			if(vzw.vt!=VT_NULL) 
				Czw=(LPCSTR)_bstr_t(vzw);	 
			vsfzh=m_pRecordset->GetCollect("身份证号");		//11 
			if(vsfzh.vt!=VT_NULL) 
				Csfzh=(LPCSTR)_bstr_t(vsfzh); 
			vsj=m_pRecordset->GetCollect("手机");			//12 
			if(vsj.vt!=VT_NULL) 
				Csj=(LPCSTR)_bstr_t(vsj);	 
			vzzzk=m_pRecordset->GetCollect("在职状况");		//13	 
			if(vzzzk.vt!=VT_NULL) 
				Czzzk=(LPCSTR)_bstr_t(vzzzk); 
			vxsdj=m_pRecordset->GetCollect("薪水等级");		//14	 
			if(vxsdj.vt!=VT_NULL) 
				Cxsdj=(LPCSTR)_bstr_t(vxsdj);				 
				CString ct;	 
				ct.Format("%d",number2);	 
				m_listview.InsertItem(number,ct);	 
				m_listview.SetItemText(number,1,Cygbh);	 
				m_listview.SetItemText(number,2,Cygxm);	 
				m_listview.SetItemText(number,3,Cbm);	 
				m_listview.SetItemText(number,4,Cxb);		 
				m_listview.SetItemText(number,5,Ccsny);		 
				m_listview.SetItemText(number,6,Cmz);	 
				m_listview.SetItemText(number,7,Cjg);		 
				m_listview.SetItemText(number,8,Chyzk);	 
				m_listview.SetItemText(number,9,Cxl);	 
				m_listview.SetItemText(number,10,Czw);	 
				m_listview.SetItemText(number,11,Csfzh);	 
				m_listview.SetItemText(number,12,Csj);	 
				m_listview.SetItemText(number,13,Czzzk); 
				m_listview.SetItemText(number,14,Cxsdj);	 
				number++;		 
				number2++;				 
			 
			 
			 
			m_pRecordset->MoveNext(); 
		} 
		m_pRecordset->Close(); 
	} 
	 
 
	catch(_com_error e) 
	{ 
			 
	} 
 
}