// SearchView.cpp : implementation file
//
#include "stdafx.h"
#include "zhaoliang.h"
#include "SearchView.h"
#include "MainFrm.h"
#include "Crypt.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CDatabase db;
/////////////////////////////////////////////////////////////////////////////
// CSearchView
IMPLEMENT_DYNCREATE(CSearchView, CFormView)
CSearchView::CSearchView()
: CFormView(CSearchView::IDD)
{
//{{AFX_DATA_INIT(CSearchView)
m_strID = _T("");
m_strSpecialty = _T("");
m_strMemo = _T("");
m_strPasswd = _T("");
m_strName = _T("");
m_strBirthday = _T("");
m_strAddress = _T("");
m_strTel = _T("");
m_strEmail = _T("");
//}}AFX_DATA_INIT
}
CSearchView::~CSearchView()
{
}
void CSearchView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearchView)
DDX_Control(pDX, IDC_SEARCH_LIST, m_cList);
DDX_Control(pDX, IDC_SEARCH_CMB_JOB, m_cJob);
DDX_Control(pDX, IDC_SEARCH_CMB_EDULEVEL, m_cEdulevel);
DDX_Control(pDX, IDC_SEARCH_CMB_DEPARTMENT, m_cDepartment);
DDX_Text(pDX, IDC_SEARCH_EDT_ID, m_strID);
DDX_Text(pDX, IDC_SEARCH_EDT_SPECIALTY, m_strSpecialty);
DDX_Text(pDX, IDC_SEARCH_EDT_MEMO, m_strMemo);
DDX_Text(pDX, IDC_SEARCH_EDT_PASSWD, m_strPasswd);
DDX_Text(pDX, IDC_SEARCH_EDT_NAME, m_strName);
DDX_Text(pDX, IDC_SEARCH_EDT_BIRTHDAY, m_strBirthday);
DDX_Text(pDX, IDC_SEARCH_EDT_ADDRESS, m_strAddress);
DDX_Text(pDX, IDC_SEARCH_EDT_TEL, m_strTel);
DDX_Text(pDX, IDC_SEARCH_EDT_EMAIL, m_strEmail);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearchView, CFormView)
//{{AFX_MSG_MAP(CSearchView)
ON_WM_DESTROY()
ON_EN_CHANGE(IDC_SEARCH_EDT_ID, OnChangeSearchEdtId)
ON_BN_CLICKED(IDC_SEARCH_BTN_CHANGE, OnSearchBtnChange)
ON_BN_CLICKED(IDC_SEARCH_BTN_CHGPASSWD, OnSearchBtnChgpasswd)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearchView diagnostics
#ifdef _DEBUG
void CSearchView::AssertValid() const
{
CFormView::AssertValid();
}
void CSearchView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSearchView message handlers
void CSearchView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// 给m_cList加入网格
DWORD style=m_cList.GetExtendedStyle();
m_cList.SetExtendedStyle(style|LVS_EX_GRIDLINES);
// 使框架窗口大小与视图匹配
GetParentFrame()->RecalcLayout();
ResizeParentToFit(FALSE);
GetParentFrame()->SetWindowText("员工信息查询修改"); // 设置标题
CRecordset rs(&db); // 数据集
CString str;
// 设置部门下拉框所取的值为DEPARTMENT表中的值
rs.Open(CRecordset::forwardOnly, "select NAME from DEPARTMENT");
while(!rs.IsEOF())
{
rs.GetFieldValue("NAME", str);
m_cDepartment.AddString(str);
rs.MoveNext();
}
rs.Close();
// 设置职务下拉框所取的值为JOB表中的值
rs.Open(CRecordset::forwardOnly, "select DESCRIPTION from JOB");
while(!rs.IsEOF())
{
rs.GetFieldValue("DESCRIPTION", str);
m_cJob.AddString(str);
rs.MoveNext();
}
rs.Close();
// 设置受教育水平下拉框所取的值为EDU_LEVEL表中的值
rs.Open(CRecordset::forwardOnly, "select DESCRIPTION from EDU_LEVEL");
while(!rs.IsEOF())
{
rs.GetFieldValue("DESCRIPTION", str);
m_cEdulevel.AddString(str);
rs.MoveNext();
}
rs.Close();
// 添加List控件的列
m_cList.InsertColumn(0, "记录编号", LVCFMT_LEFT, 100);
m_cList.InsertColumn(1, "记录时间", LVCFMT_LEFT, 100);
m_cList.InsertColumn(2, "具体描述", LVCFMT_LEFT, 215);
m_brush.CreateSolidBrush(RGB(0,150,200));
Init(); // 调用初始化函数
}
void CSearchView::OnDestroy()
{
CFormView::OnDestroy();
((CMainFrame*)AfxGetMainWnd())->m_bItemSearch=TRUE; // 开放"查询修改"功能"
((CMainFrame*)AfxGetMainWnd())->m_pSearch=NULL; // 清空窗口指针
}
void CSearchView::Init()
{
// 清空成员变量
m_strID = _T("");
m_strSpecialty = _T("");
m_strMemo = _T("");
m_strPasswd = _T("");
m_strName = _T("");
m_strBirthday = _T("");
m_strAddress = _T("");
m_strTel = _T("");
m_strEmail = _T("");
UpdateData(FALSE); // 更新界面数据
}
void CSearchView::OnChangeSearchEdtId()
{
UpdateData(); // 更新数据
m_cList.DeleteAllItems(); // 清空列表框
CRecordset rs(&db);
CString strDep,strJob,strEdulevel,strSex;
rs.Open(CRecordset::forwardOnly,
"select NAME,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,REMARK,BIRTHDAY,ADDRESS,TEL,EMAIL,SEX from PERSON where ID='" + m_strID + "'");
if(!rs.IsEOF()) // 非空则获取员工信息
{
rs.GetFieldValue("NAME", m_strName); // 名字
rs.GetFieldValue("DEPARTMENT", strDep); // 部门编号
rs.GetFieldValue("JOB", strJob); // 职务代码
rs.GetFieldValue("EDU_LEVEL", strEdulevel); // 受教育水平
rs.GetFieldValue("SPECIALTY", m_strSpecialty); // 专业
rs.GetFieldValue("REMARK", m_strMemo); // 备注
rs.GetFieldValue("BIRTHDAY", m_strBirthday); // 生日
m_strBirthday=m_strBirthday.Left(10); // 取日期部分
rs.GetFieldValue("ADDRESS", m_strAddress); // 住址
rs.GetFieldValue("TEL", m_strTel); // 电话
rs.GetFieldValue("EMAIL", m_strEmail); // Email
rs.GetFieldValue("SEX", strSex); // 性别
rs.Close();
// 得到部门名称
if(!strDep.IsEmpty())
{
rs.Open(CRecordset::forwardOnly,
"select NAME from DEPARTMENT where ID='" + strDep + "'");
rs.GetFieldValue("NAME", strDep); // 部门名称
rs.Close();
}
// 得到职务名称
if(!strJob.IsEmpty())
{
rs.Open(CRecordset::forwardOnly,
"select DESCRIPTION from JOB where CODE='" + strJob + "'");
rs.GetFieldValue("DESCRIPTION", strJob); // 职务名称
rs.Close();
}
// 得到教育水平描述
if(!strEdulevel.IsEmpty())
{
rs.Open(CRecordset::forwardOnly,
"select DESCRIPTION from EDU_LEVEL where CODE='"
+ strEdulevel + "'");
rs.GetFieldValue("DESCRIPTION", strEdulevel); // 教育水平描述
rs.Close();
}
// 设置性别选框
if(strSex=="M") ((CButton*)GetDlgItem(IDC_SEARCH_RADIO_MALE))->SetCheck(TRUE);
else ((CButton*)GetDlgItem(IDC_SEARCH_RADIO_FEMALE))
->SetCheck(TRUE);
UpdateData(FALSE); // 更新数据
m_cDepartment.SelectString(-1,strDep);
m_cJob.SelectString(-1,strJob);
m_cEdulevel.SelectString(-1,strEdulevel);
// 更新列表框数据
int i=0;
CString str1,str2,str3;
rs.Open(CRecordset::forwardOnly,
"select ID,RECORD_TIME,DESCRIPTION from zhaoliang\
where PERSON='" + m_strID + "'");
while(!rs.IsEOF())
{
// 得到数据
rs.GetFieldValue("ID", str1);
rs.GetFieldValue("RECORD_TIME", str2);
str2=str2.Left(10); // 只取日期
rs.GetFieldValue("DESCRIPTION", str3);
// 加入List
m_cList.InsertItem(i,"");
m_cList.SetItemText(i, 0, str1);
m_cList.SetItemText(i, 1, str2);
m_cList.SetItemText(i, 2, str3);
i++;
rs.MoveNext(); // 移动记录
}
rs.Close();
m_bExist=TRUE; // 该员工存在
}
else // 否则清空员工信息
{
rs.Close();
m_strSpecialty = _T("");
m_strMemo = _T("");
m_strPasswd = _T("");
m_strName = _T("");
m_strBirthday = _T("");
m_strAddress = _T("");
m_strTel = _T("");
m_strEmail = _T("");
m_cDepartment.SetCurSel(-1);
m_cJob.SetCurSel(-1);
m_cEdulevel.SetCurSel(-1);
UpdateData(FALSE); // 更新数据
((CButton*)GetDlgItem(IDC_SEARCH_RADIO_MALE))->SetCheck(FALSE);
((CButton*)GetDlgItem(IDC_SEARCH_RADIO_FEMALE))->SetCheck(FALSE);
m_bExist=FALSE; // 该员工不存在
}
}
void CSearchView::OnSearchBtnChgpasswd()
{
if(!m_bExist) // 该员工号不存在
{
AfxMessageBox("该员工号不存在");
return;
}
UpdateData(); // 更新数据
CString str,strSQL;
str=CCrypt::Encrypt(m_strPasswd, 123); // 加密
strSQL="update PERSON set PASSWD='" + str + "'"; // 写SQL语句
db.ExecuteSQL(strSQL); // 执行
}
void CSearchView::OnSearchBtnChange()
{
if(!m_bExist) // 该员工号不存在
{
没有合适的资源?快使用搜索试试~ 我知道了~
VS2010MFC对话框人事管理系统
共84个文件
tlog:15个
h:12个
cpp:11个
需积分: 0 0 下载量 177 浏览量
2024-06-29
21:51:28
上传
评论
收藏 29.73MB ZIP 举报
温馨提示
1、MFC的简单操作 2、对话框的简单操作 3、与数据库相连 4、适用于新手
资源推荐
资源详情
资源评论
收起资源包目录
人事管理系统.zip (84个子文件)
人事管理系统
TheChildFrame.cpp 705B
zhaoliang.vcxproj.user 143B
zhaoliang.ncb 73KB
LoginDlg.cpp 3KB
zhaoliang.rc 16KB
LoginDlg.h 1KB
zhaoliang.dsp 6KB
MainFrm.cpp 6KB
ChildFrm.cpp 3KB
ChildView.cpp 1KB
Crypt.cpp 2KB
SearchView.cpp 10KB
TheChildFrame.h 1KB
STATS.LOG 643B
zhaoliang.vcxproj.filters 4KB
MainFrm.h 2KB
QUERY.LOG 0B
ChildFrm.h 2KB
SearchView.h 2KB
AddView.cpp 8KB
zhaoliang.suo 3KB
ChangeView.h 2KB
zhaoliang.aps 44KB
zhaoliang.clw 8KB
StdAfx.cpp 211B
ipch
zhaoliang-b9514d35
zhaoliang-f82350f3.ipch 67.94MB
zhaoliang.opt 48KB
RES
Thumbs.db 12KB
zhaoliang.rc2 401B
zhaoliang.ico 1KB
Toolbar.bmp 1KB
PEOPLE.BMP 12KB
zhaoliang.dsw 541B
zhaoliang.sdf 49.83MB
Crypt.h 611B
ChangeView.cpp 6KB
zhaoliang.plg 3KB
zhaoliang.vcxproj 9KB
zhaoliang.cpp 5KB
RESOURCE.H 4KB
ChildView.h 1KB
AddView.h 2KB
Debug
CL.write.1.tlog 6KB
zhaoliang.exe.intermediate.manifest 381B
ChangeView.obj 87KB
rc.command.1.tlog 1KB
Crypt.obj 17KB
zhaoliang.exe.embed.manifest.res 732B
zhaoliang.write.1.tlog 0B
rc.write.1.tlog 550B
zhaoliang.log 1KB
zhaoliang.exe 210KB
mt.command.1.tlog 646B
vc60.pdb 364KB
mt.read.1.tlog 572B
rc.read.1.tlog 3KB
zhaoliang_manifest.rc 214B
StdAfx.obj 543KB
zhaoliang.lastbuildstate 81B
vc100.idb 1.04MB
zhaoliang.exe.embed.manifest 667B
zhaoliang.vcxprojResolveAssemblyReference.cache 713B
vc100.pdb 2.23MB
SearchView.obj 102KB
link.command.1.tlog 3KB
TheChildFrame.obj 24KB
zhaoliang.res 19KB
link-cvtres.read.1.tlog 2B
LoginDlg.obj 40KB
link.read.1.tlog 7KB
cl.command.1.tlog 9KB
link.write.1.tlog 2KB
zhaoliang.ilk 1.68MB
AddView.obj 99KB
link-cvtres.write.1.tlog 2B
mt.write.1.tlog 450B
ChildFrm.obj 33KB
zhaoliang.obj 42KB
MainFrm.obj 52KB
vc60.idb 217KB
ChildView.obj 18KB
CL.read.1.tlog 34KB
StdAfx.h 1KB
zhaoliang.h 1KB
共 84 条
- 1
资源评论
Snailmi
- 粉丝: 1371
- 资源: 592
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- c语言基础-prediction-maste开发笔记
- 俄罗斯方块c 语言ime-series-mast笔记
- 头歌之计算机组成原理实验之存储系统设计实验运行代码
- 使用hadoop进行数据分析diction-mas开发笔记
- html+js+cssl-time-series-m开发笔记
- 1719856762160904_download.jsp
- Screenshot_2024-07-02-01-58-45-367_net.csdn.csdnplus-edit.jpg
- html+js+csse-prediction-ma笔记
- a*搜索求解8数码问题e-series-maste笔记
- multisim仿真电路图ce-prediction-mast开发笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功