《安全档案管理软件精编版[41页].docx》由会员分享,可在线阅读,更多相关《安全档案管理软件精编版[41页].docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最新资料推荐经济效益证明最新精品资料整理推荐,更新于二二一年一月十八日2021年1月18日星期一17:52:16附1 大同煤矿集团公司科学技术(技术革新)奖申报书(2010年度)一、项目基本情况奖 种科技进步技术发明技术革新项目名称安全档案管理软件(WinForm版)主要完成人张克忠 朱晶 路建军主要完成单位同煤集团同家梁矿申报单位意见(盖 章)同意申报奖励等级项目可否公布主题词安全档案管理软件专业一级分 类信息专业二级分 类任务来源A国家计划 B部委计划 C省、市、自治区计划 D基金资助 E国际合作 F其它单位委托 G自选 H非职务 I其它项目起止时间2008.52009.10组织评价单位同
2、煤集团公司科技成果验收委员会评价时间2010年8成果水平申报单位联系人王玉印所在部门科技科联系电话7063149移动电话二、项目简介立项原因1、使档案管理快捷准确查阅和填写,有效掌握员工的综合安全状态和安全信息,为安全生产提供保障。2、员工是企业安全管理中最活跃的因素,也是最难控制的危险因素。人的不安全行为往往是造成各类安全事故的直接原因。企业员工越多,安全管理的难度就越大。创新点使用.NET平台。研究内容使用流行的Microsoft Visual Studio5集成开发环境,C#语言, SQL Server数据库。效益及应用情况1、通过掌握员工的综合安全状态和安全信息,进而针对性的采取有效措
3、施,杜绝各类事故的发生,从而实现安全生产。2、减少档案管理的劳动强度,减少纸张投入。科技成果报告安全档案管理软件(WinForm版)建立安全档案的必要性:员工是企业安全管理中最活跃的因素,也是最难控制的危险因素。人的不安全行为往往是造成各类安全事故的直接原因。企业员工越多,安全管理的难度就越大。传统的档案纪录方式很难实现频繁的查阅和填写目的,为每位员工建立安全档案管理软件可有效的杜绝以上不足,能够方便快捷的掌握员工的综合安全状态和安全信息,进而针对性的采取有效措施,杜绝各类事故的发生,从而实现安全生产。软件开发环境:Microsoft Visual Studio 2005集成开发环境(简称VS
4、)。VS是.NET开发的首选工具,VS可自动执行编译源代码的步骤;VS文本编辑器可以智能检测语言错误,并可以在输入代码时给出合适的推荐代码等等太多的强大功能。软件开发语言:C#。C#从C和C+语言演化而来,是微软专门为使用.NET平台而创建的。该语言具有语法简单,调试简单以及代码健壮等优点。数据库:SQL Server2005。SQL Server2005是一种关系型数据库,他是一个网络数据库服务器,而且还是一个数据分析的平台。开发环境运行平台:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1)。软件功能结构:登陆模块主界面基本
5、信息管理安全档案管理备忘纪录数据库管理工具民族类别设置工种类别设置文化程度类别设置单位类别设置职务类别设置职称类别设置六员一防类别设置三违类别设置安全记事类别设置安全考试类别设置安全档案浏览安全记事通 讯 录备 份 数 据 库还原 数 据 库记 事 本计 算 器数据库设计一个成功的管理系统,是由50%的业务+50%的软件所组成,而50%的成功软件又是由25%的数据库和25%的程序组成,可见数据库的设计非常关键。数据库设计的好坏直接关系着系统的运行速度和稳定性以及安全性。数据库的概要说明:该数据库包含了职工基本信息表(dbo_stuffbusic)、工作简历表、家庭关系表、培训纪录表、三违纪录表
6、、体检档案表、安全考试表、以及民族类别设置表、职务类别设置表等个中类别设置表数据库的E-R图分析:由于数据库中各种表数量众多,现只对安全考试信息表(db_Test)的实体E-R图进行分析。安 全 考 试信息表db_TestSut_ID来自基本信息表的ID考试名称TstName考试日期TstTime考试地点TstPlace考试分数TstScore监考人TstMan数据表的结构:由于本安全档案数据库中的数据表众多,现只对安全考试信息表的结构截图如下。VS2005中的编码设计:公共类:MyMeans.csusing System;using System.Collections.Generic;us
7、ing System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace PWMS.DataClass class MyMeans #region 全局变量 public static string Login_ID = ; /定义全局变量,记录当前登录的用户编号 public static string Login_Name = ; /定义全局变量,记录当前登录的用户名 public static string Mean_SQL = , Mean_Table = , M
8、ean_Field = ; /定义全局变量,记录“基础信息”各窗体中的表名及SQL语句 public static SqlConnection My_con; /定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功 public static string M_str_sqlcon = Data Source=(local)SQLEXPRESS;Database=db_PWMS;Integrated security=true; public static string AllSql = Select * from tb_Stuffbusic; /存储职工基
9、本信息表中的SQL语句 #endregion #region 建立数据库连接 / / 建立数据库连接. / / 返回SqlConnection对象 public static SqlConnection getcon() My_con = new SqlConnection(M_str_sqlcon); /用SqlConnection对象与指定的数据库相连接 My_con.Open(); /打开数据库连接 return My_con; /返回SqlConnection对象的信息 #endregion #region 测试数据库是否赋加 / / 测试数据库是否赋加 / public void c
10、on_open() getcon(); /con_close(); #endregion #region 关闭数据库连接 / / 关闭于数据库的连接. / public void con_close() if (My_con.State = ConnectionState.Open) /判断是否打开与数据库的连接 My_con.Close(); /关闭数据库的连接 My_con.Dispose(); /释放My_con变量的所有空间 #endregion #region 读取指定表中的信息 / / 读取指定表中的信息. / / SQL语句 / 返回bool型 public SqlDataRea
11、der getcom(string SQLstr) getcon(); /打开与数据库的连接 SqlCommand My_com = My_con.CreateCommand(); /创建一个SqlCommand对象,用于执行SQL语句 My_com.CommandText = SQLstr; /获取指定的SQL语句 SqlDataReader My_read = My_com.ExecuteReader(); /执行SQL语名句,生成一个SqlDataReader对象 return My_read; #endregion #region 执行SqlCommand命令 / / 执行SqlCom
12、mand / / SQL语句 public void getsqlcom(string SQLstr) getcon(); /打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); /创建一个SqlCommand对象,用于执行SQL语句 SQLcom.ExecuteNonQuery(); /执行SQL语句 SQLcom.Dispose(); /释放所有空间 con_close(); /调用con_close()方法,关闭与数据库的连接 #endregion #region 创建DataSet对象 / / 创建一个DataSet
13、对象 / / SQL语句 / 表名 / 返回DataSet对象 public DataSet getDataSet(string SQLstr, string tableName) getcon(); /打开与数据库的连接 SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con); /创建一个SqlDataAdapter对象,并获取指定数据表的信息 DataSet My_DataSet = new DataSet(); /创建DataSet对象 SQLda.Fill(My_DataSet, tableName); /通过SqlDataA
14、dapter对象的Fill()方法,将数据表信息添加到DataSet对象中 con_close(); /关闭数据库的连接 return My_DataSet; /返回DataSet对象的信息 /WritePrivateProfileString(string section, string key, string val, string filePath); #endregion MyModule.cs类:using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;usin
15、g System.Data;using System.Data.SqlClient;namespace PWMS.ModuleClass class MyModule #region 公共变量 DataClass.MyMeans MyDataClass = new PWMS.DataClass.MyMeans(); /声明MyMeans类的一个对象,以调用其方法 public static string ADDs = ; /用来存储添加或修改的SQL语句 public static string FindValue = ; /存储查询条件 public static string Addres
16、s_ID = ; /存储通讯录添加修改时的ID编号 public static string User_ID = ; /存储用户的ID编号 public static string User_Name = ; /存储用户名 #endregion #region 窗体的调用 / / 窗体的调用. / / 调用窗体的Text属性值 / 标识 public void Show_Form(string FrmName, int n) if (n = 1) if (FrmName = 安全档案浏览) /判断当前要打开的窗体 PerForm.F_ManFile FrmManFile = new PWMS.
17、PerForm.F_ManFile(); FrmManFile.Text = 安全档案浏览; /设置窗体名称 FrmManFile.ShowDialog(); /显示窗体 FrmManFile.Dispose(); if (FrmName = 安全记事) PerForm.F_WordPad FrmWordPad = new PWMS.PerForm.F_WordPad(); FrmWordPad.Text = 安全记事; FrmWordPad.ShowDialog(); FrmWordPad.Dispose(); if (FrmName = 通讯录) PerForm.F_AddressList
18、 FrmAddressList = new PWMS.PerForm.F_AddressList(); FrmAddressList.Text = 通讯录; FrmAddressList.ShowDialog(); FrmAddressList.Dispose(); if (FrmName = 备份/还原数据库) PerForm.F_HaveBack FrmHaveBack = new PWMS.PerForm.F_HaveBack(); FrmHaveBack.Text = 备份/还原数据库; FrmHaveBack.ShowDialog(); FrmHaveBack.Dispose();
19、if (FrmName = 清空数据库) PerForm.F_ClearData FrmClearData = new PWMS.PerForm.F_ClearData(); FrmClearData.Text = 清空数据库; FrmClearData.ShowDialog(); FrmClearData.Dispose(); if (FrmName = 计算器) System.Diagnostics.Process.Start(calc.exe); if (FrmName = 记事本) System.Diagnostics.Process.Start(notepad.exe); if (n
20、 = 2) String FrmStr = ; /记录窗体名称 if (FrmName = 民族类别设置) /判断要打开的窗体 DataClass.MyMeans.Mean_SQL = select * from tb_Folk; /SQL语句 DataClass.MyMeans.Mean_Table = tb_Folk; /表名 DataClass.MyMeans.Mean_Field = FolkName; /添加、修改数据的字段名 FrmStr = FrmName; if (FrmName = 工种类别设置) DataClass.MyMeans.Mean_SQL = select * f
21、rom tb_EmployeeGenre; DataClass.MyMeans.Mean_Table = tb_EmployeeGenre; DataClass.MyMeans.Mean_Field = EmployeeName; FrmStr = FrmName; if (FrmName = 文化程度设置) DataClass.MyMeans.Mean_SQL = select * from tb_Kultur; DataClass.MyMeans.Mean_Table = tb_Kultur; DataClass.MyMeans.Mean_Field = KulturName; FrmSt
22、r = FrmName; if (FrmName = 政治面貌设置) DataClass.MyMeans.Mean_SQL = select * from tb_Visage; DataClass.MyMeans.Mean_Table = tb_Visage; DataClass.MyMeans.Mean_Field = VisageName; FrmStr = FrmName; if (FrmName = 单位类别设置) DataClass.MyMeans.Mean_SQL = select * from tb_Branch; DataClass.MyMeans.Mean_Table = t
23、b_Branch; DataClass.MyMeans.Mean_Field = BranchName; FrmStr = FrmName; if (FrmName = 六员类别设置) DataClass.MyMeans.Mean_SQL = select * from tb_SixEm; DataClass.MyMeans.Mean_Table = tb_SixEm; DataClass.MyMeans.Mean_Field = LaborageName; FrmStr = FrmName; if (FrmName = 职务类别设置) DataClass.MyMeans.Mean_SQL =
24、 select * from tb_Business; DataClass.MyMeans.Mean_Table = tb_Business; DataClass.MyMeans.Mean_Field = BusinessName; FrmStr = FrmName; if (FrmName = 职称类别设置) DataClass.MyMeans.Mean_SQL = select * from tb_Duthcall; DataClass.MyMeans.Mean_Table = tb_Duthcall; DataClass.MyMeans.Mean_Field = DuthcallName
25、; FrmStr = FrmName; if (FrmName = 记事本类别设置) DataClass.MyMeans.Mean_SQL = select * from tb_WordPad; DataClass.MyMeans.Mean_Table = tb_WordPad; DataClass.MyMeans.Mean_Field = WordPad; FrmStr = FrmName; if (FrmName = 考试类别设置) DataClass.MyMeans.Mean_SQL = select * from tb_Exam; DataClass.MyMeans.Mean_Tabl
26、e = tb_Exam; DataClass.MyMeans.Mean_Field = Exam; FrmStr = FrmName; InfoAddForm.F_Basic FrmBasic = new PWMS.InfoAddForm.F_Basic(); FrmBasic.Text = FrmStr; /设置窗体名称 FrmBasic.ShowDialog(); /显示调用的窗体 FrmBasic.Dispose(); #endregion #region 自动编号 / / 在添加信息时自动计算编号. / / 表名 / 字段名 / 返回String对象 public String Get
27、Autocoding(string TableName, string ID) /查找指定表中ID号为最大的记录 SqlDataReader MyDR = MyDataClass.getcom(select max( + ID + ) NID from + TableName); int Num = 0; if (MyDR.HasRows) /当查找到记录时 MyDR.Read(); /读取当前记录 if (MyDR0.ToString() = ) return 0001; Num = Convert.ToInt32(MyDR0.ToString(); /将当前找到的最大编号转换成整数 +Nu
28、m; /最大编号加 string s = string.Format(0:0000, Num); /将整数值转换成指定格式的字符串 return s; /返回自动生成的编号 else return 0001; /当数据表没有记录时,返回 #endregion #region 向comboBox控件传递数据表中的数据 / / 动态向comboBox控件的下拉列表添加数据. / / comboBox控件 / 数据表名称 public void CoPassData(ComboBox cobox, string TableName) cobox.Items.Clear(); DataClass.My
29、Means MyDataClsaa = new PWMS.DataClass.MyMeans(); SqlDataReader MyDR = MyDataClsaa.getcom(select * from + TableName); if (MyDR.HasRows) while (MyDR.Read() if (MyDR1.ToString() != & MyDR1.ToString()!=null) cobox.Items.Add(MyDR1.ToString(); #endregion #region 向comboBox控件传递各省市的名称 / / 动态向comboBox控件的下拉列表
30、添加省名. / / comboBox控件 / SQL语句 / 字段位数 public void CityInfo(ComboBox cobox, string SQLstr, int n) cobox.Items.Clear(); DataClass.MyMeans MyDataClsaa = new PWMS.DataClass.MyMeans(); SqlDataReader MyDR = MyDataClsaa.getcom(SQLstr); if (MyDR.HasRows) while (MyDR.Read() if (MyDRn.ToString() != & MyDRn.ToString() != null) cobox.Items.Add(MyDRn.