安全檔案管理軟件.doc_第1頁
安全檔案管理軟件.doc_第2頁
安全檔案管理軟件.doc_第3頁
安全檔案管理軟件.doc_第4頁
安全檔案管理軟件.doc_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

經(jīng)濟效益證明附1 大同煤礦集團公司科學技術(shù)(技術(shù)革新)獎申報書(2010年度)一、項目基本情況獎 種科技進步技術(shù)發(fā)明技術(shù)革新項目名稱安全檔案管理軟件(WinForm版)主要完成人張克忠 朱晶 路建軍主要完成單位同煤集團同家梁礦申報單位意見(蓋 章)同意申報獎勵等級項目可否公布主題詞安全檔案管理軟件專業(yè)一級分 類信息專業(yè)二級分 類任務(wù)來源A國家計劃 B部委計劃 C省、市、自治區(qū)計劃 D基金資助 E國際合作 F其它單位委托 G自選 H非職務(wù) I其它項目起止時間2008.52009.10組織評價單位同煤集團公司科技成果驗收委員會評價時間2010年8成果水平申報單位聯(lián)系人王玉印所在部門科技科聯(lián)系電話7063149移動電話二、項目簡介立項原因1、使檔案管理快捷準確查閱和填寫,有效掌握員工的綜合安全狀態(tài)和安全信息,為安全生產(chǎn)提供保障。2、員工是企業(yè)安全管理中最活躍的因素,也是最難控制的危險因素。人的不安全行為往往是造成各類安全事故的直接原因。企業(yè)員工越多,安全管理的難度就越大。創(chuàng)新點使用.NET平臺。研究內(nèi)容使用流行的Microsoft Visual Studio5集成開發(fā)環(huán)境,C#語言, SQL Server數(shù)據(jù)庫。效益及應(yīng)用情況1、通過掌握員工的綜合安全狀態(tài)和安全信息,進而針對性的采取有效措施,杜絕各類事故的發(fā)生,從而實現(xiàn)安全生產(chǎn)。2、減少檔案管理的勞動強度,減少紙張投入。科技成果報告安全檔案管理軟件(WinForm版)建立安全檔案的必要性:員工是企業(yè)安全管理中最活躍的因素,也是最難控制的危險因素。人的不安全行為往往是造成各類安全事故的直接原因。企業(yè)員工越多,安全管理的難度就越大。傳統(tǒng)的檔案紀錄方式很難實現(xiàn)頻繁的查閱和填寫目的,為每位員工建立安全檔案管理軟件可有效的杜絕以上不足,能夠方便快捷的掌握員工的綜合安全狀態(tài)和安全信息,進而針對性的采取有效措施,杜絕各類事故的發(fā)生,從而實現(xiàn)安全生產(chǎn)。軟件開發(fā)環(huán)境:Microsoft Visual Studio 2005集成開發(fā)環(huán)境(簡稱VS)。VS是.NET開發(fā)的首選工具,VS可自動執(zhí)行編譯源代碼的步驟;VS文本編輯器可以智能檢測語言錯誤,并可以在輸入代碼時給出合適的推薦代碼等等太多的強大功能。軟件開發(fā)語言:C#。C#從C和C+語言演化而來,是微軟專門為使用.NET平臺而創(chuàng)建的。該語言具有語法簡單,調(diào)試簡單以及代碼健壯等優(yōu)點。數(shù)據(jù)庫:SQL Server2005。SQL Server2005是一種關(guān)系型數(shù)據(jù)庫,他是一個網(wǎng)絡(luò)數(shù)據(jù)庫服務(wù)器,而且還是一個數(shù)據(jù)分析的平臺。開發(fā)環(huán)境運行平臺:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1)。軟件功能結(jié)構(gòu):登陸模塊主界面基本信息管理安全檔案管理備忘紀錄數(shù)據(jù)庫管理工具民族類別設(shè)置工種類別設(shè)置文化程度類別設(shè)置單位類別設(shè)置職務(wù)類別設(shè)置職稱類別設(shè)置六員一防類別設(shè)置三違類別設(shè)置安全記事類別設(shè)置安全考試類別設(shè)置安全檔案瀏覽安全記事通 訊 錄備 份 數(shù) 據(jù) 庫還原 數(shù) 據(jù) 庫記 事 本計 算 器數(shù)據(jù)庫設(shè)計一個成功的管理系統(tǒng),是由50%的業(yè)務(wù)+50%的軟件所組成,而50%的成功軟件又是由25%的數(shù)據(jù)庫和25%的程序組成,可見數(shù)據(jù)庫的設(shè)計非常關(guān)鍵。數(shù)據(jù)庫設(shè)計的好壞直接關(guān)系著系統(tǒng)的運行速度和穩(wěn)定性以及安全性。數(shù)據(jù)庫的概要說明:該數(shù)據(jù)庫包含了職工基本信息表(dbo_stuffbusic)、工作簡歷表、家庭關(guān)系表、培訓紀錄表、三違紀錄表、體檢檔案表、安全考試表、以及民族類別設(shè)置表、職務(wù)類別設(shè)置表等個中類別設(shè)置表數(shù)據(jù)庫的E-R圖分析:由于數(shù)據(jù)庫中各種表數(shù)量眾多,現(xiàn)只對安全考試信息表(db_Test)的實體E-R圖進行分析。安 全 考 試信息表db_TestSut_ID來自基本信息表的ID考試名稱TstName考試日期TstTime考試地點TstPlace考試分數(shù)TstScore監(jiān)考人TstMan數(shù)據(jù)表的結(jié)構(gòu):由于本安全檔案數(shù)據(jù)庫中的數(shù)據(jù)表眾多,現(xiàn)只對安全考試信息表的結(jié)構(gòu)截圖如下。VS2005中的編碼設(shè)計:公共類:MyMeans.csusing System;using System.Collections.Generic;using 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 = , Mean_Field = ; /定義全局變量,記錄“基礎(chǔ)信息”各窗體中的表名及SQL語句 public static SqlConnection My_con; /定義一個SqlConnection類型的公共變量My_con,用于判斷數(shù)據(jù)庫是否連接成功 public static string M_str_sqlcon = Data Source=(local)SQLEXPRESS;Database=db_PWMS;Integrated security=true; public static string AllSql = Select * from tb_Stuffbusic; /存儲職工基本信息表中的SQL語句 #endregion #region 建立數(shù)據(jù)庫連接 / / 建立數(shù)據(jù)庫連接. / / 返回SqlConnection對象 public static SqlConnection getcon() My_con = new SqlConnection(M_str_sqlcon); /用SqlConnection對象與指定的數(shù)據(jù)庫相連接 My_con.Open(); /打開數(shù)據(jù)庫連接 return My_con; /返回SqlConnection對象的信息 #endregion #region 測試數(shù)據(jù)庫是否賦加 / / 測試數(shù)據(jù)庫是否賦加 / public void con_open() getcon(); /con_close(); #endregion #region 關(guān)閉數(shù)據(jù)庫連接 / / 關(guān)閉于數(shù)據(jù)庫的連接. / public void con_close() if (My_con.State = ConnectionState.Open) /判斷是否打開與數(shù)據(jù)庫的連接 My_con.Close(); /關(guān)閉數(shù)據(jù)庫的連接 My_con.Dispose(); /釋放My_con變量的所有空間 #endregion #region 讀取指定表中的信息 / / 讀取指定表中的信息. / / SQL語句 / 返回bool型 public SqlDataReader getcom(string SQLstr) getcon(); /打開與數(shù)據(jù)庫的連接 SqlCommand My_com = My_con.CreateCommand(); /創(chuàng)建一個SqlCommand對象,用于執(zhí)行SQL語句 My_com.CommandText = SQLstr; /獲取指定的SQL語句 SqlDataReader My_read = My_com.ExecuteReader(); /執(zhí)行SQL語名句,生成一個SqlDataReader對象 return My_read; #endregion #region 執(zhí)行SqlCommand命令 / / 執(zhí)行SqlCommand / / SQL語句 public void getsqlcom(string SQLstr) getcon(); /打開與數(shù)據(jù)庫的連接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); /創(chuàng)建一個SqlCommand對象,用于執(zhí)行SQL語句 SQLcom.ExecuteNonQuery(); /執(zhí)行SQL語句 SQLcom.Dispose(); /釋放所有空間 con_close(); /調(diào)用con_close()方法,關(guān)閉與數(shù)據(jù)庫的連接 #endregion #region 創(chuàng)建DataSet對象 / / 創(chuàng)建一個DataSet對象 / / SQL語句 / 表名 / 返回DataSet對象 public DataSet getDataSet(string SQLstr, string tableName) getcon(); /打開與數(shù)據(jù)庫的連接 SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con); /創(chuàng)建一個SqlDataAdapter對象,并獲取指定數(shù)據(jù)表的信息 DataSet My_DataSet = new DataSet(); /創(chuàng)建DataSet對象 SQLda.Fill(My_DataSet, tableName); /通過SqlDataAdapter對象的Fill()方法,將數(shù)據(jù)表信息添加到DataSet對象中 con_close(); /關(guān)閉數(shù)據(jù)庫的連接 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;using System.Data;using System.Data.SqlClient;namespace PWMS.ModuleClass class MyModule #region 公共變量 DataClass.MyMeans MyDataClass = new PWMS.DataClass.MyMeans(); /聲明MyMeans類的一個對象,以調(diào)用其方法 public static string ADDs = ; /用來存儲添加或修改的SQL語句 public static string FindValue = ; /存儲查詢條件 public static string Address_ID = ; /存儲通訊錄添加修改時的ID編號 public static string User_ID = ; /存儲用戶的ID編號 public static string User_Name = ; /存儲用戶名 #endregion #region 窗體的調(diào)用 / / 窗體的調(diào)用. / / 調(diào)用窗體的Text屬性值 / 標識 public void Show_Form(string FrmName, int n) if (n = 1) if (FrmName = 安全檔案瀏覽) /判斷當前要打開的窗體 PerForm.F_ManFile FrmManFile = new PWMS.PerForm.F_ManFile(); FrmManFile.Text = 安全檔案瀏覽; /設(shè)置窗體名稱 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 FrmAddressList = new PWMS.PerForm.F_AddressList(); FrmAddressList.Text = 通訊錄; FrmAddressList.ShowDialog(); FrmAddressList.Dispose(); if (FrmName = 備份/還原數(shù)據(jù)庫) PerForm.F_HaveBack FrmHaveBack = new PWMS.PerForm.F_HaveBack(); FrmHaveBack.Text = 備份/還原數(shù)據(jù)庫; FrmHaveBack.ShowDialog(); FrmHaveBack.Dispose(); if (FrmName = 清空數(shù)據(jù)庫) PerForm.F_ClearData FrmClearData = new PWMS.PerForm.F_ClearData(); FrmClearData.Text = 清空數(shù)據(jù)庫; FrmClearData.ShowDialog(); FrmClearData.Dispose(); if (FrmName = 計算器) System.Diagnostics.Process.Start(calc.exe); if (FrmName = 記事本) System.Diagnostics.Process.Start(notepad.exe); if (n = 2) String FrmStr = ; /記錄窗體名稱 if (FrmName = 民族類別設(shè)置) /判斷要打開的窗體 DataClass.MyMeans.Mean_SQL = select * from tb_Folk; /SQL語句 DataClass.MyMeans.Mean_Table = tb_Folk; /表名 DataClass.MyMeans.Mean_Field = FolkName; /添加、修改數(shù)據(jù)的字段名 FrmStr = FrmName; if (FrmName = 工種類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_EmployeeGenre; DataClass.MyMeans.Mean_Table = tb_EmployeeGenre; DataClass.MyMeans.Mean_Field = EmployeeName; FrmStr = FrmName; if (FrmName = 文化程度設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Kultur; DataClass.MyMeans.Mean_Table = tb_Kultur; DataClass.MyMeans.Mean_Field = KulturName; FrmStr = FrmName; if (FrmName = 政治面貌設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Visage; DataClass.MyMeans.Mean_Table = tb_Visage; DataClass.MyMeans.Mean_Field = VisageName; FrmStr = FrmName; if (FrmName = 單位類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Branch; DataClass.MyMeans.Mean_Table = tb_Branch; DataClass.MyMeans.Mean_Field = BranchName; FrmStr = FrmName; if (FrmName = 六員類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_SixEm; DataClass.MyMeans.Mean_Table = tb_SixEm; DataClass.MyMeans.Mean_Field = LaborageName; FrmStr = FrmName; if (FrmName = 職務(wù)類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Business; DataClass.MyMeans.Mean_Table = tb_Business; DataClass.MyMeans.Mean_Field = BusinessName; FrmStr = FrmName; if (FrmName = 職稱類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Duthcall; DataClass.MyMeans.Mean_Table = tb_Duthcall; DataClass.MyMeans.Mean_Field = DuthcallName; FrmStr = FrmName; if (FrmName = 記事本類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_WordPad; DataClass.MyMeans.Mean_Table = tb_WordPad; DataClass.MyMeans.Mean_Field = WordPad; FrmStr = FrmName; if (FrmName = 考試類別設(shè)置) DataClass.MyMeans.Mean_SQL = select * from tb_Exam; DataClass.MyMeans.Mean_Table = tb_Exam; DataClass.MyMeans.Mean_Field = Exam; FrmStr = FrmName; InfoAddForm.F_Basic FrmBasic = new PWMS.InfoAddForm.F_Basic(); FrmBasic.Text = FrmStr; /設(shè)置窗體名稱 FrmBasic.ShowDialog(); /顯示調(diào)用的窗體 FrmBasic.Dispose(); #endregion #region 自動編號 / / 在添加信息時自動計算編號. / / 表名 / 字段名 / 返回String對象 public String GetAutocoding(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(); /將當前找到的最大編號轉(zhuǎn)換成整數(shù) +Num; /最大編號加 string s = string.Format(0:0000, Num); /將整數(shù)值轉(zhuǎn)換成指定格式的字符串 return s; /返回自動生成的編號 else return 0001; /當數(shù)據(jù)表沒有記錄時,返回 #endregion #region 向comboBox控件傳遞數(shù)據(jù)表中的數(shù)據(jù) / / 動態(tài)向comboBox控件的下拉列表添加數(shù)據(jù). / / comboBox控件 / 數(shù)據(jù)表名稱 public void CoPassData(ComboBox cobox, string TableName) cobox.Items.Clear(); DataClass.MyMeans 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控件傳遞各省市的名稱 / / 動態(tài)向comboBox控件的下拉列表添加省名. / / comboBox控件 / SQL語句 / 字段位數(shù) 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.ToString(); #endregion #region 將日期轉(zhuǎn)換成指定的格式 / / 將日期轉(zhuǎn)換成yyyy-mm-dd格式. / / 日期 / 返回String對象 public string Date_Format(string NDate) string sm,sd; int y, m, d; try y = Convert.ToDateTime(NDate).Year; m = Convert.ToDateTime(NDate).Month; d = Convert.ToDateTime(NDate).Day; catch return ; if (y = 1900) return ; if (m 10) sm = 0 + Convert.ToString(m); else sm = Convert.ToString(m); if (d 10) sd = 0 + Convert.ToString(d); else sd = Convert.ToString(d); return Convert.ToString(y) + - + sm + - + sd; #endregion #region 將時間轉(zhuǎn)換成指定的格式 / / 將時間轉(zhuǎn)換成yyyy-mm-dd格式. / / 日期 / 返回String對象 public string Time_Format(string NDate) string sh, sm, se; int hh, mm, ss; try hh = Convert.ToDateTime(NDate).Hour; mm = Convert.ToDateTime(NDate).Minute; ss = Convert.ToDateTime(NDate).Second; catch return ; sh = Convert.ToString(hh); if (sh.Length 2) sh = 0 + sh; sm = Convert.ToString(mm); if (sm.Length 2) sm = 0 + sm; se = Convert.ToString(ss); if (se.Length 2) se = 0 + se; return sh + sm + se; #endregion #region 設(shè)置MaskedTextBox控件的格式 / / 將MaskedTextBox控件的格式設(shè)為yyyy-mm-dd格式. / / 日期 / 數(shù)據(jù)表名稱 / 返回String對象 public void MaskedTextBox_Format(MaskedTextBox MTBox) MTBox.Mask = 0000-00-00; MTBox.ValidatingType = typeof(System.DateTime); #endregion #region 用按鈕控制數(shù)據(jù)記錄移動時,改變按鈕的可用狀態(tài) / / 設(shè)置按鈕是否可用. / / 首記錄按鈕 / 上一條記錄按鈕 / 下一條記錄按鈕

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論