




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业人事管理系统(C# 3.5+ MicrosoftSQL Server 2005实现)视频讲解:2小时9分钟通过本章阅读,读者可以学习到:如何用自定义方法对不同的数据表进行添加、修改的操作如何用自定义方法快速实现多条件的查询如何在数据库中读取或写入图片如何将数据信息以自定义表格的形式插入到Word中(详细代码在窗体F_ManFile.cs中)如何向Word中插入数据库中的图片8.1 开发背景 3368.2 需求分析 3368.3 系统设计 3368.3.1 系统目标 336根据企业对人事管理的要求,本系统可以实现以下目标:l 操作简单方便、界面简洁美观。l 在查看员工信息时,可以对当前员工的家庭情况、培训情况进行添加、修改、删除的操作。l 方便快捷的全方位数据查询。l 按照指定的条件对员工进行统计。l 可以将员工信息以表格的形式插入到Word文档中。l 实现数据库的备份、还原及清空的操作。l 由于该系统的使用对象较多,要有较好的权限管理。l 能够在当前运行的系统中重新进行登录。l 系统运行稳定、安全可靠。8.3.2 系统功能结构 3368.3.3 系统预览 3378.3.4 业务流程图 3398.3.5 编码规则 339在开发应用程序之前,编码规则(这里所讲的编码规则是对控件ID的命名)的设计室十分重要的,通过它可以快速地了解相关控件的作用,也可以在控件集中遍历某一控件,这种发发适合于在前台对数据进行添加、修改以及查询的操作。1. 窗体命名规则在创建一个窗体时,首先要对窗体的ID进行命名,其编码规则可以是“F_+窗体 名称”,其中窗体名称最好是英文形式的窗体说明,便于开发者通过窗体ID就能知道该窗体的作用。如登录窗体,ID名称为F_Login。在窗体中调用其他窗体时,必须对调用的窗体进行引用,其引用的变量名为“Frm+窗体名称”,如登录窗体的引用为FrmLogin。2. 在添加、修改操作中各控件的命名规则在对数据进行编辑时,如果数据表中的字段过多,很难将窗体中所对应的控件值组合成SQL语句,为了便于对数据库中的信息进行添加、修改操作,各字段所对应的控件应该命名为“表名_(或部分表名)+数字”,这里的数字是根据数据表中相应字段的顺序进行编号的。例如,将一个控件与tb_WordResume(工作简历表)数据表中的第三个字段建立关系,应将其Name属性设为Word_2。3. 在查询操作中各控件的命名的规则当用多字段对数据表中的数据进行查询时,将窗体中相应的控件值组合成查询语句是非常麻烦的,为了能够快速组合查询条件,可以将设置查询条件的控件命名为“表名_+相应字段名”。当查询条件需要逻辑运算符时,将记录逻辑运算符的控件命名为“相应字段名_+Sign”,这样就可以通过字段名来组合查询条件。例如,查询年龄大于30的职工,年龄的字段名为Age,条件控件名位Find_Age,逻辑控件名为Age_Sign,通过条件控件和逻辑控件便可以组合成查询条件。8.3.6 程序运行环境 3408.3.7 数据库设计 340dbo.tb_AddressBook通讯录dbo.tb_Branch部门类别dbo.tb_Business职务类别dbo.tb_City省市名称dbo.tb_Clew员工提示信息dbo.tb_DayWordPad日常记事本dbo.tb_Duchcall职称类别dbo.tb_EmployGenre职工类别dbo.tb_Family家庭关系dbo.tb_Folk民族类别dbo.tb_Individual个人简历dbo.tb_Kultur文化程度dbo.tb_Laborage工资类别dbo.tb_Login登录表dbo.tb_PopeModel权限模块dbo.tb_RANDP奖惩表dbo.tb_RPKind奖惩类别dbo.tb_Stuffbusic职工基本信息表dbo.tb_TrainPope培训记录dbo.tb_UserPope用户权限dbo.tb_Visage政治面貌dbo.tb_WordPad记事类别dbo.tb_WordResume工作简历8.3.8 文件夹组织结构 348但项目文件的窗体过多时,为了便于查找与使用,可以将窗体进行分类,放入不同的文件夹中,将主窗体与登录窗体放在项目的根目录中。Properties程序属性文件夹引用dll引用文件夹DataClass数据库文件夹MyMeans.cs数据库公共类InfoAddForm公共窗体文件夹F_Address.cs通讯录公共窗体F_Basic.cs类别公共窗体F_ClewSet.cs员工提示公共窗体ModuleClass公共类文件夹MyModule.cs公共类文件PerForm调用窗体文件夹F_ AddresList.cs通讯录窗体F_ ClearData.cs清空数据表窗体F_ Find.cs人事资料查询F_ HaveBack.cs备份/还原窗体F_ ManFile.cs人事档案浏览窗体F_ Stat.cs人事资料统计窗体F_ User.cs用户设置窗体F_ UserAdd.cs用户添加/修改窗体F_ UserPope.cs用户权限窗体F_ WordPsd.cs日常记事窗体F_ Login.cs用户登录窗体F_ Main.cs人事管理主窗体Program.cs系统主程序文件8.4 公共类设计 348在开发应用程序时,可以将数据库的相关操作以及对一些控件的设置、遍历等封装在自定义类中,以便于在开发程序时调用,这样,可以提高代码的重用性。对8.4.1 MyMeans公共类 3498.4.2 MyModule公共类 351该公共类将系统中所有窗体的动态调用,以及动态生成添加、修改、删除和查询的SQL语句等全部封装到了指定的自定义方法中,以便在开发程序时,进行重复调用。这样可以大大简化程序的开发过程。因为该公共类中应用了可视化的组件的基类和对数据库进行操作的相关对象,所以在命名空间区域引用using System.Windows.from和using System.Data.SqlClient命名空间。8.5 登录模块设计 3608.5.1 登录模块概述 3608.5.2 登录模块技术分析 3608.5.3 登录模块实现过程 3618.6 主窗体设计 3638.6.1 主窗体概述 3638.6.2 主窗体技术分析 3648.6.3 主窗体实现过程 3648.6.4 单元测试 3668.7 人事档案浏览模块设计 3678.7.1 人事档案浏览窗体概述 3678.7.2 人事档案浏览窗体技术分析 3688.7.3 人事档案浏览窗体实现过程 3698.7.4 单元测试 3758.8 人事资料查询模块设计 3768.8.1 人事资料查询窗体概述 3768.8.2 人事资料查询窗体技术分析 3768.8.3 人事资料查询窗体实现过程 3778.9 开发技巧与难点分析 3798.9.1 文本框只能输入数字或单精度 379在前台对数据进行添加、修改操作时,数据的录入是不可避免的,但在输入一些整型或单精度数据时,往往因为录入的错误二导致操作失败,这时,可以自定义一个方法Estimate_Key()方法,通过控件的keyPress事件控制器输入的字符。代码如下:/ / 文本框只能输入数字型和单精度型的字符串./ / KeyPressEventArgs事件中传入的Key值/ 当前控件的文本信息/ 标识,判断是数字型还是单精度型8.9.2 在数据库中存取图片 380在录入职工基本信息时,为了能够在职工信息窗体中显示职工的信息,需要将图片存入数据库中并进行读取。下面即是在数据库中存取图片的方法。首先通过OpenFileDialog控件打开要显示的图片,然后将打开的图片显示在PictureBox控件上,便于查看选择的图片是否正确,同时,将打开的图片存入到字节数组中,以便存入到数据库中。这里以自定义方法Read_Image()实现这一过程。代码如下注意:字节数组变量imgBytesIn应该设为全局静态变量,便于图片存入数据库时应用。然后将imgBytesIn变量存入到指定的数据表中,这里用自定义方法SaveImage()实现这一过程。代码如下:最后,读取数据库中的图片并显示在PictureBox控件上,代码如下:注意:数据表中的图片字段必须是Image类型。打开文件对话框(OpenFileDialog) 1、 OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,文本文件(*.txt)|*.txt|所有文件(*.*)|*.* FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 FileName 第一个在对话框中显示的文件或最后一个选取的文件 Title 将显示在对话框标题栏中的字符 AddExtension 是否自动添加默认扩展名 CheckPathExists 在对话框返回之前,检查指定路径是否存在 DefaultExt 默认扩展名 DereferenceLinks 在从对话框返回前是否取消引用快捷方式 ShowHelp 启用帮助按钮 ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列 2、 OpenFileDialog控件有以下常用事件 FileOk 当用户点击打开或保存按钮时要处理的事件 HelpRequest 当用户点击帮助按钮时要处理的事件 3、示例 可以用以下代码来实现上面这个对话框: private void openFileDialogBTN_Click(o b j e c t sender, System.EventArgs e) OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory=c:; openFileDialog.Filter=文本文件|*.*|C#文件|*.cs|所有文件|*.*; openFileDialog.RestoreDirectory=true; openFileDialog.FilterIndex=1; if (openFileDialog.ShowDialog()=DialogResult.OK) fName=openFileDialog.FileName; File fileOpen=new File(fName); isFileHaveName=true; richTextBox1.Text=fileOpen.ReadFile(); richTextBox1.AppendText(); 4、选取多个文件OpenFileDialog dlg = new OpenFileDialog(); dlg.Multiselect = true; if (dlg.ShowDialog() = DialogResult.OK) foreach(string s in dlg.FileNames) MessageBox.Show(s); 对话框适用的场合:1要让用户选择和浏览要打开的文件,应使用OpenFileDialog。这个对话框可以配置为只允许选择一个文件,或可以选择多个文件。2使用SaveFileDialog,用户可以为要保存的文件指定一个文件名和浏览的路径。3PrintDialog用户选择一个打印机,并设置打印选项。4配置页面的边距,通常使用PageSetupDialog。5PrintViewDialog是在屏幕上进行打印预览的一种方法,并有一些选项如缩放。6FontDialog列出了所有已安装的Windows字体、样式和字号,以及各字体的预览效果,以便选择字体。7ColorDialog用于选择颜色。文件对话框:l OpenFileDialog:打开文件对话框l SaveFileDialog:保存文件对话框打开文件对话框 OpenFileDialog ofd = new OpenFileDialog(); ofd.ShowDialog(); 会弹出一个打开文件的对话框。通过修改对象的Title属性,可以更改对话框的标题现在显示的是“打开”,做如下设置 ofd.Title = 设置后标题文字:);再次运行程序,我们就会看到相应的修改 我们还可以通过设置InitialDirectory属性来使打开文件对话框打开时在一个设置好的默认路径上。它的默认值是一个空字符串,表示用户的“我的文档”目录,第一次在应用程序中使用这个对话框时,就显示“我的文档”目录下的文件,第二次再打开对话框时,显示的目录就与上一次打开的文件所在的目录相同。在实际使用的时候,不要写死一个路径,如果用户不存在这个路径会出现错误。为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录。 ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Templates);设置文件过滤器用于打开文件对话框中显示特定类型的文件。 ofd.Filter = Text Document(*.txt)|*.txt|All Files|*.*|我要显示的文件类型(*.exe)|*.exe; 设置错误的Filter值会产生一个运行异常System.ArgumentException和错误信息“The provided filter string is invalid”。过滤器前后也不允许有空格。FilterIndex属性指定列表框中的默认选项。设置文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名。CheckPathExists:验证路径有效性CheckFileExists:验证文件有效性 ofd.ValidateNames = true; ofd.CheckPathExists = true; ofd.CheckFileExists = true;自定义帮助信息:设置对象的ShowHelp属性可以出现一个帮助按钮,自定义帮助信息。通过HelpRequest事件添加一个处理程序。 ofd.ShowHelp = true; ofd.HelpRequest += new EventHandler(ofd_HelpRequest); private void ofd_HelpRequest(object sender, EventArgs e) MessageBox.Show(我自己定义的帮助信息:)); 单击帮助按钮就会显示我定义的帮助信息。 设置Multiselect属性可以使打开文件对话框打开多个文件。通过如下判断可以得到打开文件对话框单击的是哪个按钮。 if(ofd.ShowDialog() = DialogResult.OK) 保存文件对话框:使用Title属性设置对话框的标题。文件扩展名:AddExtension是一个布尔属性,它定义了文件扩展名是否应自动添加到用户输入的文件名上。如果用户已经输入了一个文件扩展名,就不会添加其它扩展名了。所以如果用户输入了文件名test,就保存文件test.txt,如果输入了test.txt,保存的文件仍是test.txt,而不是test.txt.txt。如果用户没有输入文件扩展名,就使用DefaultExt属性设置的文件扩展名。如果这个属性为空,就使用当前选择的Filter中定义的文件扩展名。如果设置了Filter和DefaultExt,则不论Filter是什么,都使用Default。同OpenFileDialog一样,具有ValidateNames、CheckFileExists和CheckPathExists三个属性,区别是对于SaveFileDialog,CheckFileExists的默认值是false,表示可以提供新文件名,进行保存。如果设置CreatePrompt属性为true,就会询问用户是否要创建一个新文件。如果设置OverwritePrompt属性为true,就会询问用户是否要覆盖一个已有的文件。进行如下定义一个保存文件对话框后,我们通过如下功能可以实现一个另存为的功能:SaveFileDialog sfd = new SaveFileDialog(); private void miFileSaveAs_Click(object sender, EventArgs e) if(sfd.ShowDialog() = DialogResult.OK) string fileName = sfd.FileName; SaveFile(fileName); protected void SaveFile(string fileName) try Stream stream = File.OpenWrite(fileName); using(StreamWriter writer = new StreamWriter(stream) writer.Write(textBox1.Text); catch(IOException ex) MessageBox.Show(ex.Message,Simple Editor,MessageBoxButtons.OK,MessageBoxIcon.Exclamation); 8.10 将数据以自制表格的形式插入Word中 3818.11 本章总结 383在安装完SQL Server Management后如果不能登录,弹出远程连接没有设置时,这时可以SQL Server Configuration Manager(配置管理器)中将SQL Server 服务-SQL Server(SQLEXPRESS)和SQL Server Browser开启(设置为自动启动即可) 在SQL Server Management中如何打开.mdf(数据库文件)呢?答案是在对象资源管理器数据库的一项上单击右击,在弹出的右键菜单栏中选择“附加”,在弹出的对话框中选择要打开的.mdf文件MaskedTextBox控件:使用掩码区分正确与不正确的输入的控件。为了避免在MaskedTextBox控件中输入错误的日期,可以在该控件的Leave时间中对所输入的日期进行检测,当日期错误时,弹出提示框,便将该组件清空。具体代码如下:MyMC. Estimate_Date(MaskedTextBox)sender);以上代码适合于所有的MaskedTextBox控件,这样,可以很方便地对该控件进行日期检测,其中Estimate_Date()方法是在MyModule公共类中定义的,用于将输入的字符串转换成日期型。掩码语言说明(相当于掩码的语法):掩码元素说明正则表达式元素00到9之间的任何一个数字。必选项。d9数字或空格。可选项。 d?#数字或空格。可选项。如果此位置在掩码中保留为空,它将显示为空格。允许使用加号(+)和减号(-)。 d+-?LASCII字母。必选项。a-zA-Z?ASCII字母。可选项。a-zA-Z?&字符。必选项。pLlpLupLtpLmpLoC字符。可选项。pLlpLupLtpLmpLo?A字母数字。可选项。W.相应于区域性的小数点占位符。不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路课程考试题及答案
- 技术投入成本效益分析-洞察及研究
- 2025年公营养师(四级)试题及答案
- 校长在2025年秋季开学教师大会上的讲话:-以师者之名为点灯人为同行者
- 林学考研科目试题及答案
- 初二化学考试题目及答案
- 规范食堂设计管理办法
- 中信银行还贷管理办法
- 中国生产现场管理办法
- 评价器考核管理办法
- 1.2 运动的描述 教学课件 人教版(2024)八年级物理上册
- 2025.8《江西省住宅物业服务区域安全管理工作指南》
- 美术教学课件艺考
- 工业园区污水处理厂节能设备安装方案
- (2025年)广东省佛山市辅警协警笔试笔试真题(含答案)
- 2025《公共基础知识》试题库(附答案)
- 绿色钻井技术-洞察及研究
- 公共艺术课件
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 印章U盾管理办法
- 2025年重庆市永川区社区工作者招聘考试笔试试题(含答案)
评论
0/150
提交评论