VBScript ADO 程式設計
建立 ADO 專案
Microsoft Visual Basic、Scripting Edition 不支援型別程式庫,因此您不需要在專案中參考 ADO。 因此,不支援命令列完成等相關功能。 此外,根據預設,不會在 VBScript 中定義 ADO 列舉常數。
不過,ADO 提供兩個 Include 檔案,其中包含要與 VBScript 搭配使用的下列定義:
對於伺服器端指令碼,請使用預設安裝在 c:\Program Files\Common Files\System\ado\ 資料夾中的 Adovbs.inc。
對於用戶端指令碼,請使用預設安裝在 c:\Program Files\Common Files\System\msdac\ 資料夾中的 Adcvbs.inc。
您可以將這些檔案中的常數定義複製並貼到 ASP 頁面,或者,如果您要執行伺服器端指令碼,請將 Adovbs.inc 檔案複製到您網站上的資料夾,並從 ASP 頁面參考該檔案,如下所示:
<!--#include File="adovbs.inc"-->
在 VBScript 中建立 ADO 物件
您無法使用 Dim 陳述式將物件指派給 VBScript 中的特定類型。 此外,VBScript 不支援在 Visual Basic for Applications 中搭配使用 Dim 陳述式的 New 語法。 您必須改用 CreateObject 函式呼叫:
Dim Rs1
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
VBScript 範例
下列程式碼是 Active Server Page (ASP) 檔案中的 VBScript 伺服器端程式設計一般範例:
<% @LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<!--#include File="adovbs.inc"-->
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<!-- Your ASP Code goes here -->
<%
Dim Source
Dim Connect
Dim Rs1
Source = "SELECT * FROM Authors"
Connect = "Provider=sqloledb;Data Source=srv;" & _
"Initial Catalog=Pubs;Integrated Security=SSPI;"
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Rs1.Open Source, Connect, adOpenForwardOnly
Response.Write("Success!")
%>
</BODY>
</HTML>
ADO 文件中包含更多具體的 VBScript 範例。 如需詳細資訊,請參閱 Microsoft Visual Basic Scripting Edition 中的 ADO 程式碼範例。
VBScript 與 Visual Basic 的差異
將 ADO 與 VBScript 搭配使用在很多方面類似於將 ADO 與 Visual Basic 搭配使用,包括語法的使用方式。 不過,兩者間有一些明顯的差異:
VBScript 僅支援 Variant 資料類型,可保存不同類型的資料。 您可以將所需的資料儲存在 Variant 資料類型中,而且資料會因 VBScript 執行的轉換而適當運作。 它會辨識 ADO 所需的類型,並據此轉換 Variant 中的值。
您無法在 VBScript 內使用 on error goto <label>。
VBScript 支援一些內建的 Visual Basic 函式,例如 Msgbox、Date 和 IsNumeric。 不過,由於 VBScript 是 Visual Basic 的子集,所以不支援所有內建函式。 例如,VBScript 不支援 Format 函式和檔案 I/O 函式。