ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:581.37KB ,
资源ID:7647727      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7647727.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教职工工资管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

教职工工资管理系统.docx

1、教职工工资管理系统数据库设计 教职工工资管理系统 湖南大学 计算机与通信学院 计算机科学技术 学生: 日期:2010.5.22-A系统分析与设计 一、系统功能分析与设计教职工工资管理系统的基本功能是对职工的工资发放进行管理,这过程需要教职工的一些信息进行处理,如数据的输入、增加、修改、删除、查询等。所以在系统设计开发时应满足下面几个方面的需求:(1)基本信息管理。作为管理员要对职工基本信息进行添加删除这样的操作。(2)工资管理。这个部分要解决基本工资的录入,浮动工资的计算,以及工资发放进行核算的问题。(3)查询管理。这部分要对员工的信息进行查询,包括基本工资,浮动工资,加班休假情况这些信息。(

2、4)系统管理。作为与用户打交道的前台,一般用户是不能对后台数据库进行修改删除这样的操作的但对系统维护是必不可少的,这部分提供给了系统管理员对用户进行管理以及密码进行修改的功能。2系统功能设计1.基本信息管理1)添加职工基本信息管理,包括编号、姓名、性别、学历基本信息。2)删除职工的基本信息。2.工资管理1)添加基本工资信息,包括基本工资、职务工资、工龄工资、养老保险等信息。2)动态工资信息包括:住房补助、生活补助、保险费、个人所得税。3)添加员工工资除上信息外加加班天数,加班费,休假天数和休假扣款等信息。3.查询管理1)基本工资查询2)浮动工资查询3)休假加班查询4)总体查询4.用户管理1)添

3、加用户包括用户名,用户级别,密码等信息。2)修改密码3)退出系统系统结构图B数据库设计 三、数据库需求分析根据系统分析可以列出下列的数据项和数据结构教职工基本信息:编号、姓名、性别、学历 、基本工资、工龄工资、职务工资、养老保险金员工编号系统统用户信息:用户名、密码、用户类型。1、数据库表格:1)登录表:字段名称数据类型字段大小必填字段(不为空)用户名文本20是密码数字20是2)员工基本信息表:字段名称数据类型字段大小必填字段(不为空)员工编号数字20是员工姓名文本20是性别文本10是 学历 文本20是基本工资数字20是工龄工资数字20否职务工资数字20否养老保险金数字20否C 系统实现4系统

4、实现1.系统工作原理: 2、关键代码:1.CLogin:CLogin(CWnd* pParent /*=NULL*/) : CDialog(CLogin:IDD, pParent) /AFX_DATA_INIT(CLogin) m_name = _T(); m_pwd = _T(); /AFX_DATA_INIT m_hIcon = AfxGetApp()-LoadIcon(IDI_LOGINICON);void CLogin:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CLogin

5、) DDX_Text(pDX, IDC_EDIT1, m_name); DDX_Text(pDX, IDC_EDIT2, m_pwd); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CLogin, CDialog) /AFX_MSG_MAP(CLogin) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CLogin message handlersvoid CLogin:OnOK() / TODO: Add extra validation here /将对话框中编辑框的数据读取到成员变量中 UpdateData(true); if(m_name=) Mess

6、ageBox(请输入用户名,工资管理系统); return; /如果读取数据和用户输入不同,则返回 if(ffxxb.HaveCzy(m_name,m_pwd)!=1) MessageBox(用户名或密码错误!,工资管理系统); return; ffxxb.SetCzyName(m_name); jb=1; /判断当前用户级别 if(ffxxb.HaveCzyjb(m_name,m_pwd,jb)=1) ffxxb.SetCzyjb(jb); CDialog:OnOK();BOOL CLogin:OnInitDialog() CDialog:OnInitDialog(); / TODO: Ad

7、d extra initialization here SetIcon(m_hIcon, TRUE); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE2. void CXinjyhdlg:OnOK() / TODO: Add extra validation here UpdateData(true); if(m_name=) MessageBox(请输入用户名,工资管理系统); return; CString

8、 jb; m_jb.GetWindowText(jb); if(jb=) MessageBox(级别不能为空,工资管理系统); return; if(m_pwd=) MessageBox(请输入密码,工资管理系统); return; if(m_pwd1=) MessageBox(请确认密码,工资管理系统); return; if(m_pwd!=m_pwd1) MessageBox(两次密码不同,工资管理系统); return; CCzyxxb xxb; if(xxb.Havename(m_name)=1) MessageBox(用户以存在,请重新输入,工资管理系统); return; xxb.

9、SetCzyName(m_name); xxb.SetPwd(m_pwd); m_jb.GetLBText(m_jb.GetCurSel(),strjb); if(strjb=系统管理员) strjb=1; else strjb=0; xxb.SetCzyjb(strjb); xxb.sql_insert(); CDialog:OnOK();BOOL CXinjyhdlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here SetIcon(m_hIcon, TRUE); m_jb.AddStr

10、ing(系统管理员); m_jb.AddString(普通管理员); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CXinjyhdlg:OnButton1() / TODO: Add your control notification handler code here UpdateData(true); if(MessageBox(是否删除当前记录,请确认,MB_YESNO)=IDYES) CCz

11、yxxb xxb; xxb.sql_delete(m_name); MessageBox(用户删除成功!,工资管理系统); CDialog:OnOK();BOOL CXinjyhdlg:PreTranslateMessage(MSG* pMsg) / TODO: Add your specialized code here and/or call the base class if(pMsg-message=WM_KEYDOWN & pMsg-wParam=13) pMsg-wParam=9; return CDialog:PreTranslateMessage(pMsg);3. void C

12、Ygfdgzdlg:OnOK() / TODO: Add extra validation here CString str; str = m_dc.GetText(); m_ad.SetRecordSource(SELECT YGid AS 员工编号,YGxm AS 员工姓名,GRsds AS 个人所得税,ZFbz AS 住房补助,BXf AS 保险费,SHbz AS 生活补助 FROM Ygfdgzxmb WHERE YGid=+str+ ); m_ad.Refresh(); _variant_t vIndex; vIndex=long(0); m_da.GetColumns().GetI

13、tem(vIndex).SetWidth(60); vIndex=long(1); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(2); m_da.GetColumns().GetItem(vIndex).SetWidth(75); vIndex=long(3); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(4); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(5); m_

14、da.GetColumns().GetItem(vIndex).SetWidth(60); /CDialog:OnOK();BOOL CYgfdgzdlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here SetIcon(m_hIcon, TRUE); _variant_t vIndex; vIndex=long(0); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(1); m_da.GetColumns().GetI

15、tem(vIndex).SetWidth(60); vIndex=long(2); m_da.GetColumns().GetItem(vIndex).SetWidth(75); vIndex=long(3); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(4); m_da.GetColumns().GetItem(vIndex).SetWidth(60); vIndex=long(5); m_da.GetColumns().GetItem(vIndex).SetWidth(60); return TRUE; / ret

16、urn TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE4. void CYgjcscdlg:OnOK() / TODO: Add extra validation here UpdateData(true); CString str; m_combo.GetWindowText(str); if(MessageBox(是否删除当前记录?,请确认!,MB_YESNO)=IDYES) CYgjcxxb xxb; xxb.sql_delete(str); CY

17、gfdgzxmb xmb; xmb.sql_delete(str); CYgjbgzb gzb; gzb.sql_delete(str); CGzffmxb mxb; mxb.sql_delete(str); CYgjbsjb sjb; sjb.sql_delete(str); CDialog:OnOK();BOOL CYgjcscdlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here SetIcon(m_hIcon, TRUE); UpdateData(true); CYgjcxxb x

18、xb; xxb.Load_dep(); for(int i=0;ixxb.a_ygid.GetSize();i+) m_combo.AddString(xxb.a_ygid.GetAt(i); m_list.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES); m_list.InsertColumn(0,员工编号,LVCFMT_LEFT,100,0); m_list.InsertColumn(1,员工姓名,LVCFMT_LEFT,100,1); m_list.InsertColumn(2,员工性别,LV

19、CFMT_LEFT,100,2); m_list.InsertColumn(3,文化程度,LVCFMT_LEFT,100,3); for(i=0;iLoadIcon(IDI_YGTJICON);void CYgjctjdlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CYgjctjdlg) DDX_Control(pDX, IDC_COMBO2, m_whcd); DDX_Control(pDX, IDC_COMBO1, m_sex); DDX_Text(pDX, IDC_EDIT

20、1, m_id); DDX_Text(pDX, IDC_EDIT2, m_name); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CYgjctjdlg, CDialog) /AFX_MSG_MAP(CYgjctjdlg) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CYgjctjdlg message handlersBOOL CYgjctjdlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here SetIcon(m_hIcon, TRUE); m_se

21、x.AddString(男); m_sex.AddString(女); m_whcd.InsertString(0,专科); m_whcd.InsertString(1,本科); m_whcd.InsertString(2,硕士); m_whcd.InsertString(3,博士); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CYgjctjdlg:OnOK() / TODO: Add extra

22、 validation here CYgjcxxb xxb; UpdateData(true); if(m_id=) MessageBox(编号不能为空,工资管理系统); return; if(m_name=) MessageBox(姓名不能为空,工资管理系统); return; if(xxb.HaveId(m_id)=1) MessageBox(员工编号已存在,工资管理系统); return; xxb.SetYGid(m_id); xxb.SetYGxm(m_name); CString sex,whcd; m_sex.GetWindowText(sex); if(sex=) Message

23、Box(性别不能为空,工资管理系统); return; /从组合框中读取文本 m_sex.GetLBText(m_sex.GetCurSel(),strsex); xxb.SetSex(strsex); m_whcd.GetWindowText(whcd); if(whcd=) MessageBox(文化程度不能为空,工资管理系统); return; m_whcd.GetLBText(m_whcd.GetCurSel(),strwhcd); xxb.SetWHcd(strwhcd); xxb.sql_insert(); /向浮动工资表添加编号、姓名 CYgfdgzxmb xmb; xmb.Se

24、tYGid(m_id); xmb.SetYGxm(m_name); xmb.sql_insert(); /向基本工资表添加编号、姓名 CYgjbgzb gzb; gzb.SetYGid(m_id); gzb.SetYGxm(m_name); gzb.sql_insert(); /向加班休假表添加编号、姓名 CYgjbsjb sjb; sjb.SetYGid(m_id); sjb.SetYGxm(m_name); sjb.sql_insert(); CDialog:OnOK();BOOL CYgjctjdlg:PreTranslateMessage(MSG* pMsg) / TODO: Add

25、your specialized code here and/or call the base class if(pMsg-message=WM_KEYDOWN & pMsg-wParam=13) pMsg-wParam=9; return CDialog:PreTranslateMessage(pMsg);6. void CYgjcxxb:Load_dep() /连接数据库 ADOConn m_AdoConn; m_AdoConn.OnInitADOConn(); /设置SQL语句 _bstr_t vSQL; vSQL=SELECT*FROM Ygjcxxb ORDER BY ygid desc; _RecordsetPtr m_pRecordset; m_pRecordset=m_AdoConn.GetRecordSet(vSQL); /初始化数组 a_ygid.RemoveAll(); a_name.RemoveAll(); a_sex.RemoveAll(); a_whcd.RemoveAll(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1