Программирование для ADO на VBScript
Область применения: Access 2013, Office 2013
Создание проекта ADO
Microsoft Visual Basic, Scripting Edition не поддерживает библиотеки типов, поэтому вам не нужно ссылаться на ADO в проекте. Следовательно, связанные функции, такие как завершение командной строки, не поддерживаются. Кроме того, по умолчанию в VBScript не определены перечисляемые константы ADO.
Однако 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 в 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 Scripting Edition.
Различия между VBScript и Visual Basic
Использование ADO с VBScript во многих отношениях похоже на использование ADO с Visual Basic, включая использование синтаксиса. Однако существуют некоторые существенные различия:
VBScript поддерживает только тип данных Variant, который может содержать различные типы данных. Вы можете хранить необходимые данные в типе данных Variant, и данные будут функционировать соответствующим образом из-за приведения, выполняемого VBScript. Он распознает тип, необходимый для ADO, и преобразует значение в Variant соответствующим образом.
Нельзя использовать
on error goto <label>
в VBScript.VBScript поддерживает некоторые встроенные функции Visual Basic, такие как Msgbox, Date и IsNumeric. Тем не менее, так как VBScript является подмножеством Visual Basic, поддерживаются не все встроенные функции. Например, VBScript не поддерживает функцию Format и функции ввода-вывода файла.