Come eseguire script SQL da Visual Basic

October 1

Come eseguire script SQL da Visual Basic


L'ultima versione di Visual Basic fornisce un ricco strato di accesso ai dati che consente di object-oriented di astrazione dei dati utilizzati in un'applicazione. Talvolta tuttavia, è più efficiente, più veloce o più pratico eseguire semplicemente uno script SQL sul database sottostante direttamente. Uno script SQL può contenere più istruzioni che devono essere eseguite insieme o può avere SQL dinamico che viene generato dall'applicazione. Indipendentemente dal motivo, l'esecuzione di script SQL dall'interno di Visual Basic non è molto difficile.

istruzione

1 Creare un nuovo progetto di Visual Windows Form di base in Visual Studio scegliendo Nuovo progetto dal menu File e selezionare il tipo di progetto appropriato. Nel modulo predefinito che viene creato, Form1, inserire un controllo pulsante denominato Button1. Fare doppio clic sul controllo per creare un gestore eventi Button1_Click.

2 Nella parte superiore del listato di codice per Form1 (sopra la linea "Public Class Form1"), aggiungere un'istruzione Imports per importare la libreria di accesso di dati .NET. La dichiarazione dovrebbe essere simile a questo:

Imports System.Data.SqlClient

In questo esempio, il database viene considerato un database SQL Server. Ci sono altre librerie per i database ODBC e OLE DB.

3 All'interno della funzione gestore eventi Button1_Click, dimensionare una variabile denominata db come nuovo SqlConnection. Impostare la proprietà stringa di connessione per essere la stringa di connessione per il database e aprire la connessione al database con il metodo Open. Il codice dovrebbe essere simile a questo:

Dim db As New SqlConnection
db.ConnectionString = "Data Source=servername; Initial Catalog=dbname; User Id=user; Password=password"
db.Open()

4 Dimensionare una variabile denominata cmd come nuovo SqlCommand. Impostare la proprietà CommandText di essere lo script SQL che deve essere eseguito. Infine, chiamare il metodo ExecuteNonQuery dell'oggetto SqlCommand per eseguire lo script SQL. Il codice dovrebbe essere simile a questo:

Dim cmd As New SqlCommand
cmd.Connection = db
cmd.CommandText = "update tablename set field1 = 2 where field3 = 4"
cmd.ExecuteNonQuery()

Consigli e avvertenze

  • Il valore di ritorno del metodo ExecuteNonQuery dà il numero di record che sono stati modificati. Ad esempio, se è stata eseguita una dichiarazione di aggiornamento, il ritorno sarebbe il numero di record aggiornati. Questo può essere utile per l'interfaccia utente per fornire un feedback oppure può essere utilizzato per verificare che i record sono stati trovati.
  • Dopo la connessione al database viene aperto, si dovrebbe sempre essere chiusa utilizzando il metodo Close dell'oggetto SqlConnection. Questo aiuterà a prevenire la corruzione del database, in particolare per i file di database di Microsoft Access.