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


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