Поделиться через


Программирование 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 не поддерживает функцию формата и функции ввода-вывода файлов.