1、引言
貴陽高新區(qū)管委會專門負(fù)責(zé)管理高新區(qū)內(nèi)企業(yè)單位送交的報表、報文等數(shù)據(jù),工作內(nèi)容包括及時收集、錄入、處理、更新和維護(hù)相關(guān)數(shù)據(jù)。由于現(xiàn)階段各企業(yè)單位送交的報表、報文等數(shù)據(jù)信息均采用手寫文檔的形式,從而使得高新區(qū)管委會的工作量加大。
首先,就高新區(qū)內(nèi)企業(yè)單位而言,分了許多下屬部門,各部門統(tǒng)計員收集數(shù)據(jù)、制作報表后,再向上級傳送,最后經(jīng)企業(yè)總部統(tǒng)計員整理匯總后上交給管委會。可見,數(shù)據(jù)的采集工作失去了及時性、同步性、準(zhǔn)確性的特點(diǎn),而且采用手工處理的方法工作量大、容易出錯。其次,就高新區(qū)管委會而言,僅收集數(shù)據(jù)和錄入數(shù)據(jù)這兩項繁瑣的工作就已經(jīng)耗用了大量的人力、物力和財力,雖然采用計算機(jī)管理系統(tǒng)進(jìn)行整理、匯總、統(tǒng)計等工作,但其系統(tǒng)管理尚未達(dá)到科學(xué)化、現(xiàn)代化、信息化的水平。所以希望開發(fā)一套全新的管理系統(tǒng)來提高管理水平、降低成本、提高經(jīng)濟(jì)效率。
2、系統(tǒng)介紹
針對以上情況,我們提出采用B/S結(jié)構(gòu)的基于Web的報表統(tǒng)計系統(tǒng),即由高新區(qū)內(nèi)各企業(yè)單位通過上網(wǎng)錄入數(shù)據(jù)的方式向管委會提交報表,然后高新區(qū)管委會也通過網(wǎng)絡(luò)接收上報的數(shù)據(jù),并進(jìn)行管理工作。運(yùn)用此系統(tǒng)不僅具有速度快、精度高、存儲信息量大等優(yōu)點(diǎn),而且最重要的是大大減輕了高新區(qū)管委會和其業(yè)務(wù)對象的工作量,最終達(dá)到保證數(shù)據(jù)準(zhǔn)確、及時、同步以及可靠的優(yōu)化要求。
2.1 系統(tǒng)結(jié)構(gòu)
基于Web的報表統(tǒng)計系統(tǒng)的開發(fā)完全采用B/S(瀏覽器/服務(wù)器)架構(gòu),前臺網(wǎng)頁與后臺數(shù)據(jù)庫相結(jié)合。前臺網(wǎng)頁采用Asp.net動態(tài)網(wǎng)頁技術(shù),服務(wù)器采用Microsoft公司的Windows 2000 Server + IIS6.0實現(xiàn);后臺數(shù)據(jù)庫采用Microsoft公司的Visual Foxpro6.0和Borland公司的Paradox5.X,實現(xiàn)手段先進(jìn)、有效、簡單。下圖為本系統(tǒng)結(jié)構(gòu)示意圖:
2.2 系統(tǒng)功能模塊
本軟件主要實現(xiàn)以下功能:
(1) 登陸系統(tǒng)。用戶每次上網(wǎng)錄入數(shù)據(jù),首先需登陸服務(wù)器,通過身份驗證后方可進(jìn)入本系統(tǒng)。
(2) 修改用戶名和密碼。用戶可根據(jù)需要,修改自己的登陸用戶名和密碼。
(3) 注銷。為用戶提供注銷的功能,注銷后用戶需重新登陸。
(4) 指標(biāo)名稱初始化。用戶可對自己企業(yè)生產(chǎn)產(chǎn)品的指標(biāo)名稱進(jìn)行添加、刪除、修改等操作。
(5) 錄入系統(tǒng)。用戶可選擇需要填報的表,在報表規(guī)定上報期間內(nèi)按時錄入數(shù)據(jù),并可在有效期內(nèi)進(jìn)行添加、修改、刪除等操作。(注:報表根據(jù)上報時間段分為月報表、季報表、年報表)
(6) 公告欄。系統(tǒng)管理員可隨時發(fā)布高新區(qū)管委會的最新通知。
2.3 系統(tǒng)實現(xiàn)方式
以下給出客戶端某一報表錄入數(shù)據(jù)庫的代碼:
set Cn=server.CreateObject("ADODB.Connection") //定義數(shù)據(jù)庫的連接
cn.Open source //打開數(shù)據(jù)庫,其中source為數(shù)據(jù)源
exec1="select * from tbl_hj_jbb where frdm='" & session("m_frdm") &"' and flagdate='" & flagdate & "'" //在該報表中查詢此法人代碼和填表日期
set rs2=server.createobject("adodb.recordset") //定義記錄集
rs2.open exec1,cn,1,3 //執(zhí)行上面的查詢語句
if rs2.eof then //如果此法人代碼在該報表中不存在,則給該字 v01=Request.Form("QA2") //段賦值
v11=Request.Form("QJD")
strsql="insert into tbl_hj_jbb(frdm,QA2,QJD, flagdate) values('" & session("m_frdm") &"','"&_v01&"',"&v11&" &",'" & flagdate & "')" //定義一條插入語句
rs.open strsql,cn //執(zhí)行上面的插入語句,將數(shù)據(jù)保存到數(shù)據(jù)庫
else //如果此法人代碼在該報表中已存在,則用新值
rs2("frdm")=session("m_frdm") //取代舊值,表示用戶修改數(shù)據(jù)
rs2("QA2")=Request.Form("QA2")
rs2("QJD")=Request.Form("QJD")
rs2("QJL")=Request.Form("QJL")
rs2.update //執(zhí)行更新數(shù)據(jù)的操作
rs2.close //關(guān)閉該記錄集
end if
2.4 安全問題
黑客攻擊互連網(wǎng)網(wǎng)站,還有惡意黑客竊取網(wǎng)上的軍事機(jī)密和數(shù)據(jù)庫中的商用數(shù)據(jù)的事件層出不窮,所以對于網(wǎng)絡(luò)數(shù)據(jù)庫的安全必須給予高度重視。本系統(tǒng)從三個方面提高數(shù)據(jù)庫的安全性。一是從結(jié)構(gòu)上,本系統(tǒng)除系統(tǒng)管理員的操作是兩層結(jié)構(gòu)外,其他所有用戶的操作都是三層結(jié)構(gòu),即用戶不能直接訪問數(shù)據(jù)層,必須通過應(yīng)用層才能得到所需的數(shù)據(jù),這樣等于在兩層結(jié)構(gòu)上加了一個安全層。二是一般網(wǎng)站可以被用戶查看到源代碼,這樣很容易讓用戶追查到數(shù)據(jù)的入口及通道。而ASP代碼只有服務(wù)器上執(zhí)行,對用戶是不可見的,用戶只可以見到系統(tǒng)自動生成的頁代碼(HTML),大大提高了系統(tǒng)的安全系數(shù)。三是對很多網(wǎng)站黑客可以從網(wǎng)上直接調(diào)用密碼驗證后的文件,從而繞過口令驗證和安全檢查,而本系統(tǒng)為解決這個問題,在每一個文件里都加了一個安全參數(shù)認(rèn)證,如果有一個頁面被用戶直接調(diào)用而沒有經(jīng)過口令檢查和安全認(rèn)證,該頁面會自動重定向到口令驗證頁面,這樣一下就杜絕了系統(tǒng)的這個安全漏洞。本系統(tǒng)我們采用用戶口令加隨機(jī)數(shù)字碼驗證方式實現(xiàn)控制,這樣可有效地防止黑客掃描。用戶密碼采用MD5加密,該加密不可逆。
3、結(jié)束語
目前貴陽市各高新區(qū)提交報表基本都是采用手工文檔的方法,所以我們開發(fā)本系統(tǒng)非常重要,不僅為貴陽高新區(qū)管委會解決了手工錄入帶來的諸多不便,更應(yīng)該將此軟件積極推廣到其他地區(qū),為更多的高新區(qū)帶來方便。
參考文獻(xiàn):
[1] 陳欣著. Dreamweaver MX 教程. 北京:清華大學(xué)出版社. 2003.6
[2] 趙祖蔭主編. 網(wǎng)頁制作教程. 北京:清華大學(xué)出版社. 2003.1
[3] Matt Butler, Matthew Gibbs等著,康博譯. ASP.net 移動控件編程.2002.6