返回首頁
當前位置: 主頁 > 網絡編程 > Asp實例教程 >

用Excel做數據庫并使用ASP編程對其進行操作

時間:2010-05-14 22:50來源:知行網www.aotfjk.live 編輯:麥田守望者

一、 問題的提出
在ASP編程中會遇到很多大大小小的難題,我有一次為一家書店設計網站的時候就遇到了一個這樣的難題。起初使用Access做數據庫,該數據庫主要是為了保存書店內圖書的信息,但是當記錄的條目過多時數據庫的體積將會變得很大。在實際的應用中,網站的空間是有限的,很多要建設網站的客戶都沒有自己的主機,網站的空間是向網站空間提供商花錢購買而來的,這就要求在網站空間一定的條件下,盡量減小網站內文件的體積。于是我選擇了Excel做數據庫
二、 方法與說明
將Excel文件(例如book.xls)看成一個數據庫,其中的每一個工作表(sheet)看成數據庫表。假設Excel中的第一行為字段名,所以你定義的范圍中必須要包括第一行的內容。
Excel中的行標題(即字段名)不能夠包含數字。Excel的驅動在遇到這種問題時就會出錯(例如你的行標題名為“F1”)。如果你的Excel中某一列同時包含了文本和數字的話,那么Excel的ODBC驅動將不能夠正常處理這一行的數據,你必須要保證該列的數據類型一致。
使用Excel做數據庫在添加數據的時候可以在本地機上使用Microsoft Excel進行編輯。書商們在做圖書數據的時候往往都是從各大出版社下載所需的圖書信息,這些圖書信息都有固定的格式,書商把下載的數據通過復制、粘貼等方法大批量的添加到Excel數據庫中。做好數據后將Excel數據庫上傳到網站。這種方法有以下優點:快速、方便和易操作。
訪問數據庫信息的第一步是和數據庫源建立連接。
使用Excel數據庫的連接方法:
<%
Dim Conn,Driver,DBPath,Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath("book.mdb")
Conn.Open Driver & DBPath
%>
其中Driver = "Driver={Microsoft Excel Driver (*.xls)};"
這一行代碼是關鍵,主要是驅動的選擇問題。我們同使用Access做數據庫的連接方法比較下便知。
<%
Dim Conn,Driver,DBPath,Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Access Driver (*.mdb)};"
DBPath = "DBQ=" & Server.MapPath("book.mdb")
Conn.Open Driver & DBPath
%>
三、 程序清單
查詢并顯示表Sheet1字段為書名的代碼:
<%
Dim Conn,Driver,DBPath,Rs
' 建立Connection對象
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath("book.xls")
'調用Open 方法打開數據庫
Conn.Open Driver & DBPath
'DSN連接方式
'Conn.Open "Dsn=book"
'注意 表名一定要以下邊這種格試 "[表名$]" 書寫
Sql="Select * From [Sheet1$]"
Set Rs=Conn.Execute(Sql)
IF Rs.Eof And Rs.Bof Then
Response.write "沒有找到您需要的數據!!"
Else
Do While Not Rs.EOF
Response.write Rs("書名")
Response.write "<br>"
Rs.MoveNext
Loop
End IF
Rs.Close
Set Rs=nothing
Conn.Close
Set Conn=Nothing
%>
查詢并顯示表Sheet1全部內容的代碼:
<%
Dim Conn,Driver,DBPath,Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( "book.xls" )
Conn.Open Driver & DBPath
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql="select * from [Sheet1$]"
Rs.Open Sql,conn,2,2
%>
<table border="1">
<tr>
<%
for i=0 to Rs.Fields.Count-1
%>
<td bgcolor="#0099FF"><%=Rs(i).Name%></td>
<%
next
%>
</tr>
<%
do while Not Rs.EOF
%>
<tr>
<%
for i=0 to Rs.Fields.Count-1
%>
<td><%=Rs(i)%></td>
<%
next
%>
</tr>
<%
Rs.MoveNext
Loop
Rs.close
set Rs=nothing
Conn.close
set Conn=nothing
%>
</table>
四、 結論
本文主要介紹ASP編程操作Excel,實現對Excel數據庫的檢索等功能。實現方法簡單,程序代碼少,可供實用編程時借鑒使用。以上程序在Windows2000Sever及IIS5.0下運行通過。
參考文獻
1. David Buser,John Kauffman等. ASP 3初級編程.北京:機械工業出版社,2001
2. Richard Anderson Chris Blexrud等. ASP 3高級編程. 北京:機械工業出版社,2000
3. Alex Homer. ASP3.0專業Web技術.北京:人民郵電出版社,2000
 

------分隔線----------------------------
標簽(Tag):asp代碼 asp實例
------分隔線----------------------------
推薦內容
猜你感興趣
湖南刘雪龙黑彩