【文章內容簡介】
GetLeavetimes(Id,momth:string):string。根據員工編號和月份返回請假次數Function Getlatetimes(Id,momth:string):string。根據員工編號和月份返回遲到次數Function GetleaEartimes(Id,momth:string):string。根據員工編號和月份返回早退次數Function GetHOliOvertimes(Id,momth:string):string。根據員工編號和月份返回節(jié)假日加班時間Function Getotherovertimes(Id,momth:string):string。根據員工編號和月份返回返回其他加班時間Function Getremark(Id,momth:string):string。根據員工編號和月份返回備注信息Function CheckInfoRecs(SQL:string):OLEVariant。通過傳遞SQL語句返回查詢記錄procedure RecInsert(InsertSQL:string)。通過傳遞SQL語句執(zhí)行插入操作procedure RecUpdate(UpdateSQL:string)。通過傳遞SQL語句執(zhí)行修改操作procedure Recdel(Id,month:string)。根據員工編號和月份編號執(zhí)行刪除操作Tusertable類封裝了對user_table表的各種操作, Tusertable類封裝的方法和過程方法或過程名具體說明Function Getuserpwd(UserName:string):string。根據用戶名返回用戶密碼信息Function GetuserLevel(UserName:string):string。根據用戶名返回用戶級別信息Function checkuser(UserName:string):Boolean。根據用戶名返回查詢賬號記錄是否存在procedure UserInsert(InsertSQL:string)。通過傳遞SQL語句執(zhí)行插入操作procedure UserUpdate(UpdateSQL:string)。通過傳遞SQL語句執(zhí)行修改操作procedure Userdelete(DeleteSQL:string)。根據傳遞SQL語句執(zhí)行刪除操作procedure CreatTable(SQL:string)。通過腳本SQL語句創(chuàng)建用戶數據表第三章 人事工資管理信息系統(tǒng)的系統(tǒng)設計與實現第一節(jié) 系統(tǒng)實現技術一、選擇Borland Delphi 7做為開發(fā)工具Delphi是著名的Borland(現在已和Inprise合并)公司開發(fā)的可視化軟件開發(fā)工具?!罢嬲某绦騿T用c,聰明的程序員用Delphi”,這句話是對Delphi最經典、最實在的描述。Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用。可以說Delphi同時兼?zhèn)淞薞C功能強大和VB簡單易學的特點。它一直是程序員至愛的編程工具?! elphi具有以下的特性:基于窗體和面向對象的方法,高速的編譯器,強大的數據庫支持,與Windows編程緊密結合,強大而成熟的組件技術。但最重要的還是Object Pascal語言,它才是一切的根本。 Object Pascal語言是在Pascal語言的基礎上發(fā)展起來的,簡單易學?! elphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數據庫的應用程序,如DesktopDataBase Expert等。除此之外,還允許用戶掛接其它的應用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。 在Delphi眾多的優(yōu)勢當中,它在數據庫方面的特長顯得尤為突出:適應于多種數據庫結構,從客戶機/服務機模式到多層數據結構模式;高效率的數據庫管理系統(tǒng)和新一代更先進的數據庫引擎;最新的數據分析手段和提供大量的企業(yè)組件。二、選擇Microsoft Server 2000作為服務器端數據庫軟件 1. Microsoft SQL Server2000簡介 SQL Server 2000是Microsoft公司推出的SQL Server數據庫管理系統(tǒng),該版本繼承了SQL Server Windows 98的膝上型電腦到運行Microsoft Windows 2000的大型多處理器的服務器等多種平臺使用 由于SQL Server與Windows界而風格完全一致,且有許多向導(Wizard)幫助,因此易于安裝和學習,有一關SQL Server的資料、培訓隨處可得,所以容易上手。并且由于今天Windows操作系統(tǒng)占領著主導地的位,選擇SQL Server一定會在兼容性方面取得一些優(yōu)勢。另外,SQL Server 2000除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網系統(tǒng)的功能。尤其是它可以直接存儲XML數據,可以將搜索結果以XML格式輸出等特點,有利于構建了異構系統(tǒng)的互操作性,奠定了而向互聯網的企業(yè)應用和服務的基石。因此我們選用Microsoft SQL Server2000來創(chuàng)建數據庫。創(chuàng)建數據庫的步驟: 。 。 。 。 。 。 。 在設計并且建立數據庫后,我們還需要進行一些優(yōu)化工作。根據計算機的配置和工作環(huán)境,可以做一些時來提高Microsoft SQL Server2000或數據庫的性能。實際上有很多的方法可以提高SQL Server2000的系統(tǒng)性能。我們可以在實踐過程中不斷的發(fā)現和總結。2.結構化查詢語言(SQL)簡介 SQL是英文Structure Query Language的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數據庫建立聯系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關系型數據庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數據庫中的數據,從數據庫中提取數據等。目前,絕大多數流行的關系姓數據庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server,Access等都采用了SQL語言標準。雖然很多數據庫都對SQL語句進行了在開發(fā)和擴展,但是包括Select, Update, Delete, Create,以及Drop在內的標準的SQL命令仍然可以被用來完成幾乎所有的數據庫操作。第二節(jié) 系統(tǒng)運行軟件環(huán)境工具軟件: Borland Delphi 7面向對象的開發(fā)工具; Microsoft SQL Server 2000關系數據庫軟件測試環(huán)境: Windows XP professional sp2, Windows 2000 professional sp4。 Windows server 2003 sp2。在以上操作系統(tǒng)上通過測試 第三節(jié) 模塊的設計與實現一、創(chuàng)建啟動畫面 啟動畫面是應用程序的附加部分,體現應用程序的門面。應用程序初始化的時候,用戶可從中獲取基本信息。但啟動畫面不宜做的太大,以免喧賓奪主。作為企業(yè)用戶使用的軟件,我們小組采用了藍色基調的厚重感較強的背景,附以簡單的文字信息,能夠給用戶一個穩(wěn)重可信的感覺。附圖如下: 相關代碼: 1. 窗體創(chuàng)建事件代碼procedure (Sender: TObject)。begin :=timetostr(now)。 :=formatdatetime(39。yyyy年mm月dd日 39。,now)。end。(。)后添加如下代碼: ……………… movefrm:=(application)。 。 。 sleep(2008)。 。 ?!?、創(chuàng)建登錄窗體啟動畫面消失后,將彈出登錄窗體。登錄窗體是唯一能進入主窗口的入口。同時我們對登錄窗體重新設計,加入了“記住上次登錄成功時的用戶名和密碼”功能,方便了軟件使用者,體現了“一切從客戶角度出發(fā)”的軟件開發(fā)原則。新建登錄窗體loginfrm,登錄窗體的設計布局如下圖算法流程和具體代碼如下:1. 窗體建立事件發(fā)生時、密碼和登錄開關狀態(tài)。,則將用戶名和密碼自動填到相應編輯框,并將窗體中的“記住用戶名和密碼”標記為選中狀態(tài)否則將用戶名和密碼框清空,并將“記住用戶名和密碼”標記為取消狀態(tài)。 代碼如下:procedure (Sender: TObject)。begin usertable:=。 setupfile:=(extractfiledir()+39。\39。)。 :=(39。Option39。,39。AutoLogon39。,false)。 if =true then begin :=(39。Option39。,39。LastUserName39。,39。39。)。 :=(39。Option39。,39。Mark39。,39。39。)。 end else begin 。 。 end。end。2. 按下登錄按鈕后如果“記住用戶名和密碼”處于選中狀態(tài),則在中覆蓋寫入 [Option]AutoLogon=1LastUserName=‘上次登錄成功的用戶名’Mark=‘密碼’ 否則覆蓋寫入 [Option]AutoLogon=0LastUserName=Mark= 實現代碼如下(包括權限和密碼驗證模塊代碼):procedure (Sender: TObject)。var b:bool。 userlevel:string。begin try b:=()。 except 。 。 exit。 end。 if b=false then if =39。39。 then begin (39。對不起,用戶名不能為空!39。,39。提示:39。,mb_ok)。 。 exit。 end else begin (39。對不起,沒有這個用戶名!39。,39。提示:39。,mb_ok)。 。 exit。 end else begin if =() then begin userlevel:=()。 。 。 end else begin (39。對不起!您的密碼不對!39。,39。提示:39。,mb_ok)。 。 end。 end。 if =True then begin (39。Option39。,39。AutoLogon39。,True)。 (39。Option39。,39。LastUserName39。,)。 (39。Option39。,39。Mark39。,)。 end else begin (39。Option39。,39。AutoLogon39。,False)。 (39。Option39。,39。LastUserName39。,39。39。)。 (39。Option39。,39。Mark39。,39。39。)。 end。end。三、連接數據庫設置一)連接數據庫并創(chuàng)建用戶表當系統(tǒng)第一次運行或者SQL server數據庫信息有變動時建好,則需彈出數據庫連接窗口。目的是提醒用戶更改數據庫連接參數,從而能夠正常登陸。同時若所選數據庫中沒有數據表,則調用程序內置的建表腳本自動創(chuàng)建所需用戶表。新建窗體dblink,窗體布局如下圖1.“連接”按鈕的onclick事件代碼procedure (Sender: TObject)。var strCreateDB:string。begin usertable:=。 try setupfile:=(extractfiledir()+39。\39。)。 (39。system39。,39。USER_NAME39。,)。 (39。system39。,39。USER_PWD39。,)。 (39。system39。,39。servername39。,)。 (39。system39。,39。database39。,)。 if GetTextFromFile(extractfiledir()+39。\39。,strCreateDB) then (strCreateDB)。 。 :=39。系統(tǒng)管理員39。 。 except (39。數據表創(chuàng)建失敗,請確認無誤后重試!39。,39。提示:39。) end。end。 其中GetTextFromFile是自定義函數,目的是讀取文本文件中的內容。其中用到了Tinifile類,須在uses中加入Inifiles單元。實現代碼如下:function GetTextFromFile(AFile:String。var ReturnString:string):boolean。var FileStream:TFileStream。Begin if not fileexists(AFile) then exit。 FileStream:=(AFile,fmOpenRead)。 try if 0 then begin SetLength(ReturnString,)。 (ReturnString[1],)。 result:=true。 end。 finally 。 end。end。二)