摘要:該系統是采用B/S基于模式的三層體系結構。文章對基于的網上工資查詢系統的設計原理和實現步驟進行了分析,同時給出了系統基于ASP技術及相關技術的實現方法。
關鍵詞:網上工資查詢系統;ASP
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)35-2521-02
ASP Based on Line Wage Query System Design and Implementation
WU Di-dan
(Graphic Information Center,Nanjing College of Information Technology,Nanjing 210046,China)
Abstract: The system is B/S model based on the three-tier architecture.The article based on the wages of on-line query system design and realization of the principle of steps were analyzed at the same time gives the ASP system based on technology and related technology implementation.
Key words: wages on-line query system;ASP
在過去,一般企事業單位的工資獎金津貼發放基本通過銀行代發,然后由單位財務部門提供的紙質的工資條明細。這種傳統的方式,不符合無紙化辦公、增強財務信息公開透明化及財務管理創新等要求。隨著計算機網絡的普及應用,網上工資查詢系統逐漸提上日程。網上工資查詢系統具有實時性,既能方便廣大職工及時的查詢到自己的工資明細合計等等信息,又能減輕財務人員的負擔,符合無紙化辦公,節約成本,這樣還便于數據備份,保存。職工既能看到當月的工資明細還能跟過去幾月的工資進行對比,還能對一年來的工資發放進行統計;部門中層能對本部門的工資發放總額有一個詳細的了解。
ASP技術是現在相當成熟的WEB服務器技術,特別是近兩年基于ASP、ASP.NET技術更具有競爭力。由于它使用ADO的功能進行數據庫操作,因此在對數據管理方面又獨到之處,ASP與JavaScript還能相互滲透,使其更加能符合網絡系統的應用要求,更能滿足各個不同層次的用戶需求,ASP與JavaScript的完美結合使網上系統的安全性、靈活性得到了充分的應用。
本工資查詢系統采用基于Browser/Server模式的三層體系結構來實現,同傳統的Client/Server二層結構相比,提高了系統的可擴展性、安全性和可重用性。
1 系統概述
1.1 系統運行的環境
網上工資查詢系統基于WEB技術開發,用戶界面均已網頁形式展示。系統除了采用靜態設計技術,主要應用了動態網頁設計ASP技術以及JavaScript的技術;系統后臺采用了SqlServer 數據庫管理系統。Web服務器安裝了IIS5.1組件,系統采用目前交互式 Web 方案中常用的 B/S 三層模式及相應的軟硬件環境。即win2000Server 平臺、以HTTP 為傳輸協議、結合FrontPage2000 和Dreamweaver 生成靜態網頁元素和動畫圖標,用editplus 為ASP 編程工具、SQLServer2000 為底層數據庫服務器,采用服務器端和客戶端混合編程的ASP動態網頁發布技術 ,從而構系統功能模塊。
1.2 ASP 技術概述
ASP 即Active Server Page,是微軟推出的一種用于WWW服務的服務器端腳本環境且在Web應用程序方面得到了最廣泛的應用。它在站點的Web 服務器上解釋腳本,可產生并執行動態、交互式、高效率的站點服務器應用程序。利用它,可以很容易地把HTML標記、文本、腳本命令及ActiveX 組件混合在一起構成ASP 頁,以此來生成動態網頁,創建交互式的Web 站點,實現對Web 數據庫的訪問。
2 系統結構
網上工資查詢系統的結構由6個模塊組成,如右圖所示。
1) 用戶登錄:登錄的用戶有三種角色,1是普通的用戶,2是部門級用戶,3是系統管理員,不同角色的用戶具有不同的權限。
2) 工資查詢:普通用戶通過選擇月份就能查詢到所選擇月份的工資明細,部門級用戶能查詢到本部門所有職工的工資明細。
3) 收入合計:用戶能查詢到所查詢月份的工資明細合計。
4) 密碼修改:用戶登錄后可以修改自己的密碼。
5) 建議反饋:用戶可以通過本模塊了解用戶的意見,解答用戶的疑問。
6) 歷年工資查詢:用戶通過此模塊以前的工資,進行系統的查詢。
3 數據庫設計
本系統采用ASP+SQLSERVER2000的技術,數據庫數據設計結構主要由三張基表組成,一張是用戶表,用于存放用戶的基本信息,一張是工資表,用于存放用戶的工資明細,另外一張是建議反饋表,用戶存放用戶的留言以及系統管理員的解答。
4 系統實現的若干技術
1) 用戶登錄驗證技術
本系統通過界面提交的用戶名和密碼,通過程序來判斷該用戶是一般用戶還是部門級用戶或是系統用戶,然后根據不同的角色用戶賦予不同的權限,用戶名和密碼直接與數據庫關聯。
sql = “Select * From用戶表Where 用戶名=‘“loginame”’And密碼 =‘“password”’”
Set rs = sqlcn. Execute( sql )
If rs. EOF Then
response.write (“用戶名或密碼不正確!”)
else
session(“gh”) = loginame
response. redirect“check. asp”
end if
check.asp 檢測“用戶權限”字段,如果值為1,通過Response. Redirect 轉入普通用戶系統(pt.asp);如果值為2,就轉入部門用戶系統(bm.asp);如果值為3,就轉入系統用戶系統(xt.asp) 。部分源代碼如下:
if rs(“權限”) = 1 then
Response. Redirec“pt.asp”
Else if rs(“權限”) = 2 then
Response. Redirec“bm. asp”
Else if rs(“權限”) = 3 then
Response. Redirec“xt. asp”
end if
2) 存儲過程技術
為了提高頁面的查詢速度,把查詢語句寫到數據庫程序里,這樣把數據查詢等功能通過數據庫去執行,通過頁面調用存儲過程來實現數據查詢等功能,這樣能使頁面調用數據結果的時間大為縮短。
存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯后存儲在數據庫。中用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。
使用存儲過程有以下幾個好處:
對于同一個針對數據庫對象的操作(如查詢、插入、修改、刪除),如果這一操作所涉及到的 Transaction-SQL 語句被組織成一存儲過程,那么當在客戶計算機上調用該存儲過程時,網絡中傳送的只是該調用語句,否則將是多條SQL 語句,從而大大增加了網絡流量,降低網絡負載。
如果某一操作包含大量的Transaction-SQL代碼或分別被多次執行,那么存儲過程要比批處理的執行速度快很多。因為存儲過程是預編譯的,在首次運行一個存儲過程時,查詢優化器對其進行分析、優化,并給出最終被存在系統表中的執行計劃。而批處理的Transaction- SQL 語句在每次運行時都要進行編譯和優化,因此速度相對要慢一些。
3) 數據庫操作
ASP編程技術中,若要對一個數據庫進行操作,至少要建立兩個對象:連接對象(Connection)和記錄集對象(Recordset)。連接對象與數據庫建立連接;記錄集對象完成數據庫訪問。使用記錄集對象的字段集合,可以訪問任意的單個字段,并修改、刪除、更新它們。在登陸認證子系統中,連接對象的建立是在Conn.asp文件中完成的:
<%
session(\"gzcxsql\")=\"DRIVER=SQLServer;SERVER=IBM1\\XXZ;uid=cwc;pwd=cwc;database=cwc\"
Set sqlcn=Server.CreateObject(\"ADODB.Connection\")
sqlcn.Open (session(\"gzcxsql\"))
%>
<%
sqlsr=\"select * from 用戶表 where sfzh='\"session(\"gh\")\"' and 日期='\"rq1\"'\"
set rs= Server.CreateObject(\"ADODB.Recordset\")
rs.open sqlsr,sqlcn,1,3
%>
其他ASP文件用<!--#INCLUDE FILE=\" sqlcn.asp\" -->語句包含該連接對象,進而建立記錄集對象就能對特定數據庫進行訪問操作。
5 結束語
該系統基本能實現企事業單位財務工資的網上查詢,大大提高了用戶的日常工作的效率和質量,節省人力資源,實現了無紙化辦公,為信息的綜合利用提供了方便的手段;系統界面友好、使用方便、容易掌握、使用安全、性能高、達到了系統的設計目標。
參考文獻:
[1] 白海波,劉寶龍,歐陽冀茗.中文版DREAMWEAVER 8+ASP構造動態網站實例與操作[M].北京:兵器工業出版社,2007.
[2] 楊力學,ASP商業網站整站集成開發[M].北京:電子工業出版社,2007.
[3] 李櫻,王會英,廖建華,等.ASP+SQLSERVER2005項目開發從入門到精通[M].北京:人民郵電出版社,2008.