VBScript での ADO プログラミング
ADO プロジェクトの作成
Microsoft Visual Basic、Scripting Edition ではタイプ ライブラリがサポートされていないため、プロジェクト内で ADO を参照する必要はありません。 そのため、コマンド ライン入力候補などの関連する機能はサポートされません。 また、既定では、ADO 列挙定数は VBScript では定義されません。
ただし、ADO では、VBScript で使用される次の定義を含む 2 つのインクルード ファイルを用意しています。
サーバー側スクリプトの場合は、Adovbs.inc を使用します。これは既定では、c:\Program Files\Common Files\System\ado\ フォルダーにインストールされます。
クライアント側スクリプトの場合は、Adcvbs.inc を使用します。これは、既定では、c:\Program Files\Common Files\System\msdac\ フォルダーにインストールされます。
これらのファイルから定数定義をコピーして 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 のみです。この場合、さまざまな種類のデータを保持できます。 必要なデータを Variant データ型で格納することができます。VBScript によってキャストが実行されるので、データは適切に機能します。 それにより、ADO で必要とされる型が認識され、適宜、Variant の値が変換されます。
VBScript 内で on error goto <label> を使用することはできません。
VBScript では、Msgbox、Date、IsNumeric などの組み込みの Visual Basic 関数の一部がサポートされています。 ただし、VBScript は Visual Basic のサブセットであるため、すべての組み込み関数がサポートされているわけではありません。 たとえば、VBScript では Format 関数とファイル I/O 関数をサポートしていません。