郭琰
(陜西省水利電力勘測設(shè)計研究院陜西西安710001)
水文資料信息管理系統(tǒng)的開發(fā)及應(yīng)用
郭琰
(陜西省水利電力勘測設(shè)計研究院陜西西安710001)
本文簡述了水文資料信息管理系統(tǒng)的開發(fā)及應(yīng)用。從技術(shù)角度出發(fā),以vs2012、.net framework、SQLserver2012為編程工具,使用c#和sql編程語言,完成本系統(tǒng)的全部功能。本文對于系統(tǒng)需求和功能等方面進行了詳細分析,闡述了系統(tǒng)的開發(fā)難點和重點,以供系統(tǒng)用戶和其他開發(fā)人員應(yīng)用參考。
水文資料信息管理系統(tǒng);PD F;開發(fā)應(yīng)用
在水文作業(yè)分析工作中,需要查閱大量的水文資料,由于許多單位的水文資料大多都是紙質(zhì)的,查詢、瀏覽資料,復(fù)印、摘錄信息等均較為繁雜,攜帶更為不便。于此同時,基于現(xiàn)有部分水文資料實現(xiàn)了無紙化,所以開發(fā)水文資料管理系統(tǒng)對數(shù)字無紙化的水文資料進行管理是非常必要的。
本系統(tǒng)用戶對象分為兩類,管理員和一般用戶。系統(tǒng)主要方便用戶對所需水文資料的查閱和打印,提升用戶的查找速度和準確性。
水文資料信息管理系統(tǒng)的配置要求:
(1)操作系統(tǒng):WindowsXp系統(tǒng)及以上等;
(2)硬件配置:大于或等于8G內(nèi)存,硬盤需要容量在200G以上,優(yōu)質(zhì)的顯卡;
(3)特定技術(shù):.net+SQLserver;
(4)工具:vs2010、.net framework、SQLserver2012;
(5)編程語言:c#、sql;
(6)數(shù)據(jù)庫:SQLserver2012。
水文資料信息管理系統(tǒng)工作流程見水文資料信息管理系統(tǒng)工作流程圖(圖1)。
3.1 登陸
(1)登陸頁面
要求頁面簡約,僅設(shè)兩個登陸框:用戶名和密碼,用戶名不超過15個字符,密碼失敗次數(shù)不設(shè)置上限。頁面同時設(shè)置兩個按鈕:登陸、取消。響應(yīng)時間控制在1s之內(nèi)。登錄成功即響應(yīng)Response.Redirect(“管理員管理界面.aspx”);

圖1 水文資料信息管理系統(tǒng)工作流程圖
(2)登陸失敗頁面
跳轉(zhuǎn)至“登陸失敗,重新返回登陸”頁面。3.2功能模塊簡述
查詢者模塊
該模塊分為查閱和截圖打印部分。
管理員
該模塊分為增加、刪除、改動、查詢水文資料,以及統(tǒng)計人員信息。
4.1 查詢者模塊
4.1.1 查閱。通過年代、卷數(shù)、水文資料名稱選擇查詢水文資料,任何字段都未輸入就會按年代列出全部水文資料。
(1)年代只限年份。
(2)卷數(shù)可以從1到100。
(3)水文資料使用模糊查找。
更新處理時間限制在2s之內(nèi)。可按資料年份索引、排序;排序可由小到大,也可以由大到小。數(shù)據(jù)顯示時按每個文件顯示,一個文件顯示1頁,可以前后翻閱,更新速度在0.3s之內(nèi)。
4.1.2 頁面打印
通過插件接口將需要的頁面打印出來。
4.2 管理員模塊
(1)增加水文資料:批量向數(shù)據(jù)庫中傳入圖片地址等文件信息。
(2)刪除水文資料:批量刪除文件地址等信息。
(3)修改水文資料:手動替換文件地址,單個手動進行。
(4)查詢水文資料:同查詢者的查詢功能。
(5)統(tǒng)計人員信息:通過登錄的數(shù)據(jù)對每日、每月、每年的人員動作信息進行統(tǒng)計。

表1 管理員表

表2 管理員日志表

表3 詳細的水文資料數(shù)據(jù)表
因為設(shè)計是數(shù)據(jù)庫中只存入圖片地址,所以吞吐量較小,速度較快。默認排序按年代由大到小排列。
數(shù)據(jù)庫設(shè)計需3個表:
(1)管理員表(表1)
主鍵為管理員ID,登記登錄時間和退出時間,時間格式為年月日-時間。
(2)管理員日志(表2)
主鍵為管理員ID,管理員動作為管理員在登入時間內(nèi)在系統(tǒng)中做出的行為,如表2中的“刪除了編號為4589623的文件”等。
(3)水文資料表(表3)
主鍵為編號,編號為唯一碼。存放地址可以是任意硬盤地址,但是最好是統(tǒng)一安排。
本系統(tǒng)需要一臺計算機和一臺打印機,必要時需要服務(wù)器支持。考慮到資料的保密要求,只能進行水文資料的抄錄或者打印,需要授權(quán)拷貝文件。
質(zhì)量要求屬性如下:
軟件的實用性和穩(wěn)定性。軟件能夠無故障的運行。對軟件進行修改較為容易,軟件可用性強,風格簡明統(tǒng)一。
重復(fù)利用性:其他資料也可以按本系統(tǒng)進行管理、可測試性(查找缺陷較為容易)、可移植性高。
在水文資料信息管理系統(tǒng)中可以對文件進行預(yù)覽和打印,只有管理員有增加刪除修改查詢數(shù)據(jù)及記錄日志的功能。其他用戶只可以查詢、預(yù)覽和打印,不允許拷貝走文檔或者將文檔發(fā)往其它地址。
在用C#語言進行軟件開發(fā)時,插件和控件的使用是非常重要且方便的,它可以較大幅度的提高編程效率,同時提高編程質(zhì)量。
編程的重點及體會如下:
(1)關(guān)于數(shù)據(jù)綁定。gridview的數(shù)據(jù)綁定,它可以快速的綁定database,直接可視化點擊關(guān)聯(lián)數(shù)據(jù)庫,手寫代碼也適用,使用SqlDataSource如下:
<asp:SqlDataSource ID=“SqlDataSource2”runat=“server”
ConnectionString=“<%$ConnectionStrings:水文資料地址數(shù)據(jù)庫ConnectionString%>”SelectCommand=“SELECT DISTINCT[卷數(shù)] FROM[swxt]”>
</asp:SqlDataSource>
(2)關(guān)于flexpaper插件的使用。Flexpaper是一個開源輕量級的在瀏覽器上顯示各種文檔的組件,使在Flex中顯示PDF成為可能,可以在vs2010中嵌入系統(tǒng)中。Flexpaper的主要功能是將swf格式的文件顯示、放大、縮小、打印和定位等。因為本系統(tǒng)要求將掃描文件預(yù)覽和打印,所以在系統(tǒng)中選擇使用了flexpaper插件。但由于flexpaper只能識別swf格式的文件,所以需要將掃描的PDF文件轉(zhuǎn)換成swf格式的文件。
(3)關(guān)于數(shù)據(jù)格式轉(zhuǎn)換和傳輸。編程中使用flexpaper插件時,遇到的難點是怎么樣轉(zhuǎn)換數(shù)據(jù)然后進行傳輸。在參考了flexpaper的API之后,使用PDF2SWF在DOS下的轉(zhuǎn)化命令轉(zhuǎn)換文件類型,將PDF文件轉(zhuǎn)換成為swf格式文件。下載并且安裝SwfTools2.轉(zhuǎn)換PDF到SWF,可以通過命令行的方式如下C: DATA2014第一卷Paper3.pdf-o Paper3.swf進行轉(zhuǎn)換操作。在數(shù)據(jù)傳輸時,通過使用filepath進行數(shù)據(jù)地址的傳輸<cc1:ShowPdfID=“ShowPdf1”runat=“server”FilePath=“pdf/abc. pdf”/>
(4)關(guān)于數(shù)據(jù)導入。將儲存在服務(wù)器的數(shù)據(jù)導入flexpaper的接口,在flexpaper中使用同一個專用文件地址存儲這個要轉(zhuǎn)換的文件,將此文件名稱使用同一個專用的文件名稱及地址,這樣相當于每次讀入內(nèi)存的文件被新的文件覆蓋,因此可以省下大量的存儲空間,并且優(yōu)化系統(tǒng)的內(nèi)存占用。
(5)關(guān)于日志。本系統(tǒng)中會自動在數(shù)據(jù)庫中記錄管理員動作,但是統(tǒng)計用戶的行為是需要管理員登錄受理的。比如,張三借了一本水文年鑒,管理員會在日志中記錄下詳細信息。此信息會按照日期和內(nèi)容自動命名日志文件,在固定地址生成新的txt文件,這部分關(guān)鍵代碼如下所示:
System.Windows.Forms.SaveFileDialog obj= newSystem.Windows.Forms.SaveFileDialog();
obj.F=“(*.txt)|*.txt|”+“(*.*)|*.*”;
obj.Name=“文件”+DateTime.Now. ToString(“yyyyMMddHHmm”)+“.txt”;
StreamWriter FileWriter=newStreamWriter (obj.Name,true);F.Write(this.TextBox1.Text);
綜上所述,水文資料信息管理系統(tǒng)很好地解決了繁雜的紙質(zhì)水文資料的查詢、瀏覽、摘錄、打印等電子化問題,可方便用戶對所需資料的查閱、摘錄或打印,提升用戶的查找速度和準確性。同時,該系統(tǒng)也可用于其它行業(yè)的紙質(zhì)資料、文件及圖書等數(shù)字化管理。陜西水利
(責任編輯:暢妮)

TP39
A