Condividi tramite


Programmazione ADO VBScript

Creazione di un progetto ADO

Microsoft Visual Basic, Scripting Edition non supporta le librerie dei tipi, quindi non è necessario fare riferimento ad ADO nel progetto. Di conseguenza, non sono supportate le funzionalità associate come il completamento della riga di comando. Inoltre, per impostazione predefinita, le costanti enumerate ADO non sono definite in VBScript.

ADO offre tuttavia due file di inclusione contenenti le definizioni seguenti da usare con VBScript:

  • Per gli script lato server usare Adovbs.inc, installato nella cartella c:\Programmi\Common Files\System\ado\ per impostazione predefinita.

  • Per gli script lato client usare Adcvbs.inc, installato nella cartella c:\Programmi\Common Files\System\msdac\ per impostazione predefinita.

È possibile copiare e incollare definizioni costanti da questi file nelle pagine ASP oppure, se si eseguono script lato server, copiare il file Adovbs.inc in una cartella nel sito Web e farvi riferimento dalla pagina ASP come segue:

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

Creazione di oggetti ADO in VBScript

Non è possibile usare l'istruzione Dim per assegnare oggetti a un tipo specifico in VBScript. VBScript non supporta inoltre la sintassi New usata con l'istruzione Dim in Visual Basic, Applications Edition. È invece necessario usare la chiamata di funzione CreateObject:

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

Esempi di VBScript

Il codice seguente è un esempio generico di programmazione VBScript lato server in un file ASP (Active Server Page):

<%  @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>  

Esempi di VBScript più specifici sono inclusi nella documentazione di ADO. Per altre informazioni, vedere Esempi di codice ADO in Microsoft Visual Basic, Scripting Edition.

Differenze tra VBScript e Visual Basic

L'uso di ADO con VBScript è simile all'uso di ADO con Visual Basic in molti modi, incluso il modo in cui viene usata la sintassi. Esistono tuttavia alcune differenze significative:

  • VBScript supporta solo il tipo di dati Variant, che può contenere diversi tipi di dati. È possibile archiviare i dati necessari in un tipo di dati Variant e i dati funzioneranno in modo appropriato grazie al cast eseguito da VBScript. Riconosce il tipo richiesto da ADO e converte di conseguenza il valore nel tipo Variant.

  • All'interno di VBScript non è possibile usare l'istruzione on error goto <label>.

  • VBScript supporta alcune delle funzioni predefinite di Visual Basic, ad esempio Msgbox, Date e IsNumeric. Tuttavia, poiché VBScript è un subset di Visual Basic, non tutte le funzioni predefinite sono supportate. Ad esempio, VBScript non supporta la funzione Format e le funzioni di I/O di file.