摘 要針對靜態網頁冗長難管理和學科教師不熟悉網頁制作的問題,提出利用web技術和數據庫,建立動態實驗項目的方案。
關鍵詞 數據庫;ASP ;ADO ;SQL
中圖分類號:G642.423 文獻標識碼:A文章編號:1671-489X(2007)05-0062-02
隨著實驗教學改革的深入,很多高校已經將各科實驗內容以網頁形式放到了互聯網上,學生可以充分利用課余時間預習實驗項目,做到有的放矢,節省了實驗時間,提高了實驗教學效果。但目前實驗項目大部分是以靜態網頁或文本的形式放在網上,內容繁多,形式分散,難以管理和維護,而且不利于擴充。針對此問題,本文提出利用WEB技術和數據庫技術實現對實驗項目的動態呈現方案。
1設計模式

高校實驗項目的格式較固定,由實驗名稱、實驗目的、實驗內容、實驗器材、實驗步驟、注意事項、思考題等模塊構成。這些模塊內容放到兩個不同的數據庫表中,然后利用web動態技術,可實現對多門課程的多個實驗項目模塊的調用和管理,具有通用性,其原理如圖1所示。
2 數據庫設計
由于實驗項目內容簡單,因此可選用ACCESS數據庫存儲實驗項目內容,根據實驗項目的模塊劃分,實驗內容可用以下5個數據表存儲。
(1)課程名稱表(Ex-courses):存儲每門課程的名稱。
(2)實驗項目名稱表(Ex-items):存儲每門課程的實驗項目名稱。
(3)實驗項目模塊表(Item-sorts):存儲每個實驗項目的實驗目的、實驗內容、注意事項、思考題等內容。
(4)實驗器材表(item-qicai):存儲每個實驗中所用實驗器材的名稱和圖片的名稱。
(5)實驗步驟表(Item-steps):因實驗步驟相對其它模塊較復雜,因此單獨用一個表存儲。
因實驗項目內容相互關聯,因此,在Ex-items、Item-sorts、item-qicai、Item-steps表中除了設置相關內容的字段外,還須設置與相關課程或相關實驗項目相關聯的字段。各表的字段及說明設計見表1。
3 動態實驗項目的實現
實現動態內容顯示的WEB技術較多,本設計采用ASP技術。使用ASP的內置組件ADO (ActiveX Data Object)可以方便地連接數據庫,并結合SQL語言對數據庫進行連接、顯示、刪除、更新等操作。

1) 數據庫連接技術
顯示數據庫內容前,須先使用ADO的Connection對象連接數據庫,連接代碼如下:
set con = Server.CreateObject("ADODB.Connection")定義連接對象
Conn= "driver={Microsoft Access Driver (*.mdb)};dbq=e:\lab\shiyan.mdb"
'確定連接字符串
con.Open() '打開數據庫連接
2)文本內容顯示
<%
setrs = Server.CreateObject("ADODB.Recordset")'定義記錄集實例rs
sql="select * fromItem_sorts."'以Item_sorts為例,生成SQL語句
rs.Open sql, con '利用rs記錄集的Open方法打開數據表
%>
<%=rs("Item_Target")%> '顯示 實驗目的內容
<%=rs("Item_Content")%> '顯示實驗內容
<%=rs("Item_Cantion")%> '顯示注意事項
<%=rs("Item_Questions")%>'顯示思考題
3) 動態圖片顯示
實驗器材中用到的圖片也是動態地顯示在網頁中,其原理是將圖片存儲在站點下的某個目錄中,將圖片的文件名存儲在數據表中,然后在動態網頁中調用。代碼如下:
<img src="pic\<%=rs("Qicai_pic")%>">'pic為站點中存放實驗器材圖片文件的目錄。
4) 問題及解決方案
(1)由于不同的實驗項目都是通過ASP程序網頁調用的,因此,設計數據庫時,應考慮到每個實驗項目的具體內容的數量,如實驗器材數目、實驗步驟步數等,按照內容最多的實驗項目設計,以保證顯示實驗項目的所有內容。
(2)當實驗項目的內容與ASP程序的設置不吻合時便會出現錯誤,如當某一實驗項目沒有實驗步驟8時,由于數據庫為空,便會使網頁在該區域出現較大的空白或出錯。此問題可通過在ASP程序中設置合適的跳轉語句來解決。
以顯示步驟8為例。
<%
if rs("step8")=" "
then response.write (" ")
then response.write rs("step8")
%>
4結束語
自該種形式的實驗項目應用以來,解決了很多學科教師不會做網頁而帶來的困惑,通過預習,提高了學生做實驗的效率,有利于實驗數據庫和試題庫的建立和擴充。