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