次の方法で共有


VBScript ADO プログラミング

ADO プロジェクトの作成

Microsoft Visual Basic、Scripting Edition はタイプ ライブラリをサポートしていないため、プロジェクトで ADO を参照する必要はありません。 そのため、コマンド ライン補完などの関連する機能はサポートされません。 また、既定では、ADO 列挙定数は VBScript では定義されません。

ただし、ADO には、VBScript で使用する次の定義を含む 2 つのインクルード ファイルが用意されています。

  • サーバー側スクリプトの場合は、既定で c:\Program Files\Common Files\System\ado\ フォルダーにインストールされている Adovbs.inc を使用します。

  • クライアント側スクリプトの場合は、既定で c:\Program Files\Common Files\System\msdac\ フォルダーにインストールされている Adcvbs.inc を使用します。

これらのファイルから定数定義をコピーして ASP ページに貼り付けるか、サーバー側のスクリプトを実行している場合は、Adovbs.inc ファイルを Web サイト上のフォルダーにコピーし、次のように 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 の違い

VBScript での ADO の使用は、構文の使用方法など、さまざまな方法で Visual Basic で ADO を使用するのと似ています。 ただし、いくつかの大きな違いがあります。

  • VBScript では、さまざまな種類のデータを保持できる Variant データ型のみがサポートされています。 データをバリアント型に格納できます。VBScript によってキャストが行われるため、データは適切に機能します。 ADO で必要な型を認識し、それに応じてバリアント型 (Variant) の値を変換します。

  • エラー goto <ラベル>VBScript 内で を使用することはできません。

  • VBScript では、MsgboxDate、IsNumeric など、組み込みの Visual Basic 関数の一部がサポートされています。 ただし、VBScript は Visual Basic のサブセットであるため、すべての組み込み関数がサポートされているわけではありません。 たとえば、VBScript では、Format 関数とファイル I/O 関数はサポートされていません。