6)SQL Server屬于Server級(jí)的數(shù)據(jù)庫(kù),使用時(shí)要求比較嚴(yán)格,必須要求輸入用戶(hù)名及密碼才能使用。
Function CreateSQLServerRecordset(計(jì)算機(jī)名稱(chēng),用戶(hù)ID, 用戶(hù)密碼,數(shù)據(jù)庫(kù)名稱(chēng) 數(shù)據(jù)表或查看表或Select指令 )
Dim Params, conn
Set CreatSQLServerConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
Params = "Provider=SQLOLEDB.1"
Params = Params & ";Data Source=" & Computer
Params = Params & ";User ID=" & UserID
Params = Params & ";Password=" & Password
Params = Params & ".Initial Catalog="&數(shù)據(jù)庫(kù)名稱(chēng)
Conn open Paras
Set CreateSQLServerRecordset = Server.CreateObject("ADODB.Recordset")
CreateSQLServerRecordset.Open source, conn, 2, 2
End Function
利用上面的函數(shù)就可以打開(kāi)常用類(lèi)型的數(shù)據(jù)庫(kù),然后利用ADO的Recordset對(duì)象的增加記錄、刪除記錄、修改記錄等功能就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。但是要說(shuō)明的是,在實(shí)際開(kāi)發(fā)中我們發(fā)現(xiàn),如果使用DBF、DBC、Excel數(shù)據(jù)庫(kù),執(zhí)行效率沒(méi)有MDB數(shù)據(jù)庫(kù)效率高,最好盡可能用MDB類(lèi)型數(shù)據(jù)庫(kù)。
如果用用DBF、DBC、Excel數(shù)據(jù)庫(kù),下面幾點(diǎn)要注意:Excel數(shù)據(jù)庫(kù)只能讀取、增加記錄、修改記錄,但不能刪除記錄;DBF、DBC<可以讀取記錄、增加記錄、刪除記錄、修改記錄,但是在增加記錄時(shí),任何一個(gè)字段值都不能為空,由此可看出局限性很大,所以盡可能地用MDB或SQL數(shù)據(jù)庫(kù)。
四、實(shí)例(存取Excel數(shù)據(jù)表)
為了更進(jìn)一步說(shuō)明這些函數(shù)的用法,本文給出一個(gè)存取Excel數(shù)據(jù)表的例子,其它函數(shù)的存取方法與此類(lèi)似。假設(shè)有一個(gè)如圖2的名為1.xls的Excel文件, 含有三個(gè)工作表一班、二班、三班。下面得用上面的函數(shù)存取工作表“一班”的數(shù)據(jù)。
編寫(xiě)ASP文件(文件名為1.asp)存取此Excel中文件。
此處是asp源代碼: <%
' 建立Connection對(duì)象
Function CreateExcelRecordset(xlsfile,sheet)
Dim rs,conn,Driver,DBPath
Set conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( "xlsfile" )
' 調(diào)用Open 方法連接數(shù)據(jù)庫(kù)
conn.Open Driver & DBPath
set CreateExcelRecordset = Server.CreateObject("ADODB.Recordset")
' 打開(kāi)Sheet表,參數(shù)二'>Connection對(duì)象
CreateExcelRecordset.Open "Select * From ["&sheet&"$]",conn, 2, 2
End Function
%>
<HTML>
<BODY bgcolor="#FFFFFF">
<TABLE BORDER=1>
<TR BGCOLOR=#00FFFF>
<%
'本行是關(guān)鍵行,對(duì)函數(shù)的引用
' set rs=CreateExcelRecordset("1.xls","一班")
Part I輸出“表頭名稱(chēng)”且表頭的背景的顏色為#00FFFF
' For i=0 to rs.Fields.Count-1
Response.Write "<TD>" & rs(i).Name & "</TD>"
Next
%>
</TR>
<%
' Part '>輸出數(shù)據(jù)表的“內(nèi)容”
rs.MoveFirst ' 將目前的數(shù)據(jù)記錄移到第一項(xiàng)
While Not rs.EOF ' 判斷是否過(guò)了最后一項(xiàng)
Row = "<TR>"
For i=0 to rs.Fields.Count-1
Row = Row & "<TD>" & rs(i) & "</TD>"
Next
Response.Write Row & "</TR>"
rs.MoveNext ' 移到下一項(xiàng)
Wend
%>
</TABLE></CENTER>
</BODY>
</HTML>
利用IE和PWS(Personal Web Server)后瀏覽結(jié)果如圖3: 參考文獻(xiàn):
[1]DataBase and the World Wide Web Marianne Winslett, University of Illinois
[2]http://www.aspobjects.com
|
溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!