Программирование ADO VBScript
Создание проекта ADO
Microsoft Visual Basic, Scripting Edition не поддерживает библиотеки типов, поэтому в проекте не требуется ссылаться на ADO. Следовательно, не поддерживаются связанные функции, такие как завершение командной строки. Кроме того, по умолчанию перечисляемые константы ADO не определены в VBScript.
Однако ADO предоставляет два включаемых файла, содержащие следующие определения для использования с VBScript:
Для сценариев на стороне сервера используется Adovbs.inc, установленный в папке c:\Program Files\Common Files\System\ado\ по умолчанию.
Для сценариев на стороне клиента используйте Adcvbs.inc, который устанавливается в папке c:\Program Files\Common Files\System\msdac\ по умолчанию.
Вы можете скопировать и вставить определения констант из этих файлов на страницы ASP или, если выполняется скрипт на стороне сервера, скопируйте файл Adovbs.inc в папку на веб-сайте и ссылаетесь на нее на странице ASP, как показано ниже:
<!--#include File="adovbs.inc"-->
Создание объектов ADO в VBScript
Инструкцию dim нельзя использовать для назначения объектов определенному типу в VBScript. Кроме того, VBScript не поддерживает синтаксис New, используемый с инструкцией Dim в Visual Basic для приложений. Вместо этого необходимо использовать вызов функции CreateObject:
Dim Rs1
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Примеры VBScript
Следующий код является универсальным примером программирования на стороне сервера VBScript в файле Active Server Page (ASP):
<% @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>
Более конкретные примеры VBScript включены в документацию по ADO. Дополнительные сведения см. в примерах кода ADO в выпуске скриптов Microsoft Visual Basic.
Различия между VBScript и Visual Basic
Использование ADO с VBScript аналогично использованию ADO с Visual Basic многими способами, включая использование синтаксиса. Однако существуют некоторые существенные различия:
VBScript поддерживает только тип данных Variant, который может содержать различные типы данных. Вы можете хранить необходимые данные в типе данных Variant, и данные будут функционировать надлежащим образом благодаря приведениям, выполняемым VBScript. Он распознает тип, необходимый ADO, и преобразует значение в Variant соответствующим образом.
Вы не можете использовать в goto <метки> в VBScript.
VBScript поддерживает некоторые встроенные функции Visual Basic, такие как msgbox, Dateи IsNumeric. Однако поскольку VBScript является подмножеством Visual Basic, поддерживаются не все встроенные функции. Например, VBScript не поддерживает функцию формата и функции ввода-вывода файлов.