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)
{
}
}