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

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

表1 管理員表

表2 管理員日志表

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

TP39
A