共用方式為


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 函式,例如 MsgboxDateIsNumeric。 不過,由於 VBScript 是 Visual Basic 的子集,所以不支援所有內建函式。 例如,VBScript 不支援 Format 函式和檔案 I/O 函式。