【摘要】學校電控系統沒有預欠費提示功能,為了方便學生和管理者,我設計了一卡通電控系統的欠費提示系統,本系統利用asp網站讀取SQL SERVER數據庫中電費總量小于5度電的宿舍號,并把這些宿舍利用一體電腦顯示在對應的樓宇中,定時刷新數據,讓學生及時看到最新數據。
【關鍵詞】ASP;SQL Server;B/S;ADO技術;欠費提示
1.項目的背景
校園一卡通系統由于一卡走遍校園,把圖書證,飯卡,門禁卡,電卡等多卡融合為一張卡而深受學生歡迎,給管理部門節約了很大的人力物力財力,提供很大的方便,電控系統也有惡性負載識別功能等良好功能,防止火災的發生,但是卻有一個問題,那就是宿舍電費即將使用完時,沒有提示功能,只有等到欠費斷電之后學生才知道欠費了,斷電之后,會有部分同學會想到是電路出現故障,會找樓管和電工給他檢查線路,最后費了很大勁查完之后,線路和控制部分都正常,學生才同意去繳電費,這樣給學生和工作人員帶來了極大的不便。由此可以看出,由于信息的不能及時發布,學生不能及時獲知自己宿舍電費狀況而帶給學生和工作人員的不便和誤會。所以電控電費提示系統顯得尤為重要。架起了系統和學生之間信息互通的橋梁。
2.術語簡介
ASP。ASP即動態服務器頁面Active Server Page,是目前比較流行的動態網站編程技術。它可以在網頁中創建動態交互式頁面,比html功能更加豐富,彌補了html只能制作靜態頁面的不足,在asp頁面嵌套了很多現成的asp接口,程序員直接調用就可以完成較為復雜的功能,大大減少了開發者的開發時間,提高了編程效率,如可以方便的與access,SQL SERVER等數據庫進行連接,同時asp編寫的程序所見即所得,易于修改和調試,asp所編寫的網頁也是非常安全的,因為它是在服務器端被解釋成靜態的html格式的文本傳到客戶端,因此客戶端接收到的不是原有的asp代碼,而是被解釋過,這樣可以防止asp網頁被竊取,更加的安全。
SQLServer。Microsoft SQLServer是微軟公司推出的一種關系型數據庫系統。目前大家常使用的版本是SQLServer2005,SQLServe 2008,SQLServer 2012等版本。應用在windows操作系統之上。SQLServe是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數據庫管理系統,實現了與WindowsNT的有機結合,提供了基于事務的企業級信息管理系統方案。
B/S結構。B/S結構即瀏覽器/服務器模式(Browser/Server)是WEB興起后的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,只需要打開瀏覽器就可以訪問各類B/S結構的產品。
3.相關技術
ADO是為MS的強大的數據訪問接口OLE DB設計的, OLE DB為任何數據源都提供了高性能的訪問,包括:關系型數據庫、非關系型數據庫、電子郵件、文件系統、文本和圖形以及自定義業務對象等。用ADO訪問數據源的特點可概括如下:
(1)首先ADO特點是易于使用,可以說這是ADO最重要的特點之一。
(2)在 ADO 對象結構中,對象與對象之間的層次結構不適非常明顯,這會給編寫數據庫程序帶來更多的便利。比如,在應用程序中如果要使用記錄集對象,不一定要先建立連接、會話對象,如果需要就可以直接構造記錄集對象。總之,已經沒有必要去關心對象的構造層次和構造順序了。
(3)就是可以訪問多種數據源。和 OLE DB 一樣,使應用程序具有很好的通用性和靈活性。
(4)最后就是訪問數據源效率高。 方便的Web應用。ADO 可以以 ActiveX 控件的形式出現,這就大大方便了Web應用程序的編制。
4.應用實例
4.1 實現原理
首先數據庫中有關電費的表中和計費相關的電費字段和免費電字段,利用asp ADO連接數據庫,查找出所有免費的和計費電量總和低于五度的宿舍,軟后根據對應關系,查找出對應的樓宇和宿舍號,顯示出來,為了方便學生讀取信息且及時讀取電費信息,所以讓網頁每60秒刷新一次,既可以減少數據庫負荷,又可以把每天電費實際情況盡可能早的反映給同學,
系統包含以下幾部分:
(1)數據庫,以sql2000為例,數據庫主要包含著計費電費,補助電費的數據,和房間其他信息的數據。是電控系統的數據庫,
(2)Asp網站,主要包含iis6.0和asp程序,是此顯示系統的核心部分,通過asp網站讀取數據庫中電費的相關信息,經過篩選,讀取電費少于5度的宿舍,通過對應關系,找出并顯示出電費 少于5度宿舍的樓棟和宿舍號,建立con.asp用于連接數據庫,每個樓宇各建立一個asp文件,例如一號樓建立1haolou.asp
二號樓也1haolou.asp相似,只是if rs(0)>=100and rs(0)<=300 then 這個范圍變一下,顯示部分為2號樓,依次類推,3號樓,4號樓也是一樣改。
(3)專網,用于網絡傳輸數據,此專網是電控系統的專網,不用重新建設,利用現有的電控專網就可以。
(4)顯示部分,可以用一體電腦或著一卡通圈存機,設置每天自動開關機,設置主頁為本樓專有網頁,開機自啟動到全屏顯示本樓不足5度電費宿舍號。
設置一號樓:http://192.168.1.2/1haolou.asp
如果是二號樓,則是http://192.168.1.2/2haolou.asp
依次類推,可以繼續添加樓宇。顯示界面如下圖所示:
4.2 關鍵程序
(1)連接數據庫,利用asp的ADO組件連接SQL SERVER數據庫,其中user id為訪問SQL SERVER數據庫使用的用戶名,pwd為訪問SQL SERVER數據庫使用的密碼,initial catalog為訪問的數據庫名稱。
set conn=server.createobject("ADODB.Connection")
sql="Provider=sqloLEDB.1;
Data Source=(local);
user id=userid;
pwd=password;
initial catalog= Databasename”
conn.open(sql)
(2)sql查詢語句,這個表名為sushe,宿舍相關的字段宿舍賬號和宿舍號為sushe_zhanghao和sushe_fanghao。免費字段為fee_free,計費字段為fee_charging,此語句查詢出所有計費電量和免費電量加起來小于和等于5度電的宿舍的賬號和宿舍編號。
select sushe_zhanghao,sushe_fanghao from sushe where fee_free +fee_ charging<=5
(3)網頁部分主要代碼:代碼使用table方式排版,背景設置為藍色,讓頁面每60秒刷新一次。顯示低于5度電的本樓的宿舍號,讓每顯示10個宿舍號就換行,
顯示主要代碼:
<%
for i=1 to rs.recordcount‘使用for循環
if rs(0)>=100 and rs(0)<=300 then‘選取本樓宿舍賬號范圍
%>
<%=rs(1)%>‘顯示電費小于五度的宿舍號
<%
else
rs.movenext
end if
next
%>
5.結論
使用顯示功能后,宿舍的學生每天進出一樓過道,就會看到顯示器上顯示的的不足5度電學生宿舍號,如果有自己宿舍號,就可以去繳費,不用斷電之后再去繳費,由于信息的及時提示,也不會有學生再懷疑宿舍線路有問題或者控制部分有問題,給學生帶來了便利,給宿管和電工減少了一些不必要的工作量。
參考文獻
[1]斯琴巴圖,張利峰,胡其吐.SQL技術與網絡數據庫開發詳解[M].清華大學出版社,2009.
[2]鄒天思,孫明麗.ASP數據庫系統開發完全手冊[M].人民郵電出版社,2006(6).
[3]汪曉平,鐘軍.ASP網絡開發技術[M].人民郵電出版社,2003(12).
[4]張喜平,夏躍偉,劉亞銖.ASP動態網站開發案例指導[M].電子工業出版社,2009(9).
[5]陶國榮.ASP動態商業網站建設案例[M].人民郵電出版社,2006(12).
[6]鐘小平,張金石.網絡服務器配置與應用[M].人民郵電出版社,2007(3).
[7]高峽,陳智罡,袁宗富.網絡設備互聯學習指南[M].科學出版社,2009(4).
[8]高峽,鐘嘯劍,李永俊.網絡設備互聯實驗指南[M].科學出版社,2009(4).
作者簡介:李建偉(1984—),男,陜西寶雞人,大學本科,西北農林科技大學計劃財務處助理工程師,研究方向:一卡通維護。