Programación ADO en VBScript

Creación de un proyecto de ADO

Microsoft Visual Basic Scripting Edition no admite bibliotecas de tipos, por lo que no es necesario hacer referencia a ADO en el proyecto. Por lo tanto, no se admiten características asociadas, como la finalización de la línea de comandos. Además, de forma predeterminada, las constantes enumeradas de ADO no se definen en VBScript.

Sin embargo, ADO proporciona dos archivos de inclusión que contienen las siguientes definiciones que se usarán con VBScript:

  • Para el scripting del lado servidor, use Adovbs.inc, que se instala en la carpeta c:\Archivos de programa\Common Files\System\ado\ de forma predeterminada.

  • Para el scripting del lado cliente, use Adovbs.inc, que se instala en la carpeta c:\Archivos de programa\Common Files\System\msdac\ de forma predeterminada.

Puede copiar y pegar definiciones de constantes de estos archivos en las páginas ASP, o bien, si va a realizar scripting del lado servidor, copie el archivo Adovbs.inc en una carpeta del sitio web y haga referencia a él desde la página ASP de la siguiente manera:

<!--#include File="adovbs.inc"-->  

Creación de objetos ADO en VBScript

No se puede usar la instrucción Dim para asignar objetos a un tipo específico en VBScript. Además, VBScript no admite la sintaxis New usada con la instrucción Dim en Visual Basic para Aplicaciones. En su lugar, debe usar la llamada de función CreateObject:

Dim Rs1  
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )  

Ejemplos de VBScript

El código siguiente es un ejemplo genérico de programación del lado servidor de VBScript en un archivo de página Active Server (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>  

Los ejemplos de VBScript más específicos se incluyen con la documentación de ADO. Para obtener más información, vea Ejemplos de código de ADO en Microsoft Visual Basic Scripting Edition.

Diferencias entre VBScript y Visual Basic

El uso de ADO con VBScript es similar al uso de ADO con Visual Basic en muchos aspectos, incluida la forma en que se usa la sintaxis. Sin embargo, existen algunas diferencias significativas:

  • VBScript solo admite el tipo de datos Variant, que puede contener diferentes tipos de datos. Puede almacenar los datos que necesita en un tipo de datos Variant, y los datos funcionarán correctamente debido a la conversión realizada por VBScript. Reconoce el tipo requerido por ADO y convierte el valor en Variant en consecuencia.

  • No se puede usar on error goto <label> dentro de VBScript.

  • VBScript admite algunas de las funciones integradas de Visual Basic, como Msgbox, Date e IsNumeric. Sin embargo, dado que VBScript es un subconjunto de Visual Basic, no se admiten todas las funciones integradas. Por ejemplo, VBScript no admite la función Format ni las funciones de E/S de archivo.