Scopri come impartire i comandi SQL più comuni utilizzando VB.NET.

VB.NET offre un approccio semplificato alle operazioni del database, con un framework robusto. Usando la sua potenza, puoi ottenere informazioni rilevanti rapidamente e con il minimo sforzo.

Dai un'occhiata ad alcuni esempi pratici che mostrano come utilizzare VB.NET per eseguire query SQL e scopri come garantire che il recupero dei dati sia efficace ed efficiente.

Configurazione del server SQL locale

Inizia configurando un server SQL per rivedere tutto passo dopo passo. Negli esempi seguenti vedrai un ambiente Windows, ma se stai utilizzando un file sistema operativo diverso come Linux e hai un server SQL diverso, non preoccuparti; la logica generale rimarrà la stessa.

Grazie alla sua semplicità e all'approccio a configurazione zero, SQLite è una scelta eccellente per i principianti.

Per impostare le cose, crea una nuova cartella, quindi aprire un prompt dei comandi e raggiungilo. Eseguire il comando seguente per creare un nuovo progetto .NET in cui è possibile utilizzare il linguaggio VB.NET:

instagram viewer
dotnet new console -lang VB -o MyVBApp

Ora hai un progetto chiamato MyVBApp. Continua la configurazione integrando il pacchetto SQLite nel tuo progetto VB.NET utilizzando NuGet, un popolare gestore di pacchetti per .NET. Esegui questo comando:

dotnet add package System.Data.SQLite

Dopo aver aggiunto SQLite, puoi configurare un database locale senza sforzo.

Puoi trovare tutto il codice per questi esempi nel file project's Repositorio GitHub.

Scarica il InizializzaDatabase.vb file dal repository del progetto. Questo particolare file ti aiuterà a configurare il tuo database. Come puoi vedere in questo file ci sono alcuni utenti e paesi degli utenti. È possibile utilizzarlo come database di esempio.

Il comando utilizzato per creare il progetto VB.NET ha creato un file denominato Programma.vb. Apri questo file e aggiornalo come segue:

Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule

Esegui questo programma e dovresti vederlo creare un file denominato miodatabase.db. Questo è il database semplice che utilizzerai negli esempi seguenti.

Stabilire una connessione al database con SQL in VB.NET

Stabilire una connessione utilizzando SQLite in VB.NET è semplice. Continua a modificare il Programma.vb file e rimuovere il contenuto esistente della subroutine Main. Questo file funge da nucleo del progetto.

Puoi definire una connessione al file di database, mydatabase.db, con questa riga di codice:

Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"

Fonte di dati specifica il nome del file del database. Se il file non esiste, SQLite creerà un nuovo database quando stabilisce una connessione.

Il passo successivo è utilizzare il file SQLiteConnection classe per creare un'istanza di connessione. Dovresti sempre usare a Utilizzando blocca quando si lavora con le connessioni al database per evitare potenziali perdite o deadlock:

Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

' Database operations go here
EndUsing

Il blocco Using garantisce che la connessione venga chiusa automaticamente una volta completata.

Il tuo file Program.vb finale dovrebbe assomigliare a questo:

Imports System
Imports System.Data.SQLite

Module Program
Sub Main(args AsString())
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"

Try
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
Console.WriteLine("Successfully connected to the database!")

'You can perform database operations here.
EndUsing
Catch ex As SQLiteException
Console.WriteLine("Error: " & ex.Message)
EndTry
EndSub
EndModule

Questo codice si connetterà al database mydatabase.db e stamperà un messaggio di conferma quando l'operazione ha esito positivo. Se si verifica un errore, stamperà i dettagli sulla console.

Come recuperare i dati e caricarli in un array

IL SELEZIONAREcomando SQL è il modo principale per recuperare dati da un database SQL. Se hai una tabella denominata Utenti nel tuo database e vuoi ottenere il file Nome campo da ogni record in quella tabella, usa SELECT in questo modo:

SELECT Name FROM Users

Puoi estrarre i dati dal database e caricarli in un array aggiungendo questa query al file Program.vb:

Dim query AsString = "SELECT Name FROM Users"
Dim names AsNew List(OfString)()

Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

Using cmd AsNew SQLiteCommand(query, conn)
Using reader As SQLiteDataReader = cmd.ExecuteReader()
While reader.Read()
names.Add(reader("Name").ToString())
EndWhile
EndUsing
EndUsing
EndUsing

' Now the 'names' list is full of users' names.
' You can convert this list to an array if you want:
Dim namesArray() AsString = names.ToArray()

' Print array content for testing purposes
ForEach name In namesArray
Console.WriteLine(name)
Next

Vedrai un elenco di nomi sulla console, corrispondente al contenuto della tabella del tuo database:

Questo codice carica i dati in a Elenco struttura, che ha una dimensione dinamica, prima di convertirla in un array al termine. Questo approccio è molto utile per le situazioni in cui non si conosce in anticipo il numero di record che si recupereranno.

Come utilizzare INSERT per aggiungere dati a un database

Puoi usare il INSERIRE comando per aggiungere nuovi dati a un database. Ad esempio, considera il Utenti tabella con due colonne denominate Nome E Paese.

La query SQL di base che puoi utilizzare per aggiungere un nuovo utente sarebbe:

INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')

Per aggiungere un nuovo utente al database utilizzando questa query, aggiornare il file Program.vb come segue:

Dim query AsString = $"INSERT INTO Users (Name, Country) VALUES ('{name}', '{country}')"
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()

Using cmd AsNew SQLiteCommand(query, conn)
cmd.ExecuteNonQuery()
EndUsing
EndUsing

Console.WriteLine($"{name} has been successfully added to the database!")

Questo semplice esempio utilizza l'interpolazione delle stringhe per creare la query, ma dovresti evitarlo nel codice di produzione poiché lo è vulnerabile all'iniezione SQL. L'alternativa sono le query parametrizzate che rendono le operazioni del database più sicure ed efficienti.

Le query con parametri utilizzano segnaposto, anziché la concatenazione diretta di stringhe, per aggiungere valori alle query SQL. Questo approccio ti aiuterà a evitare molte minacce alla sicurezza:

Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)

Eventuali altri suggerimenti per lavorare con un database da VB.Net

Inizialmente le operazioni sui database in VB.NET potrebbero sembrare scoraggianti, ma con alcune linee guida è possibile padroneggiare facilmente le nozioni di base.

  • Utilizzare query parametrizzate per proteggersi dalle vulnerabilità della sicurezza.
  • Chiudi sempre la connessione al database quando hai finito di recuperare o aggiornare i dati.
  • Mantieni il tuo database per ottimizzarne la struttura man mano che il tuo modello di dati cambia nel tempo.
  • Non dimenticare di fare copie di backup in caso di emergenza.

Come con qualsiasi tecnologia, i database si evolvono. Il software viene aggiornato, emergono nuovi strumenti e scopriamo modi migliori di fare le cose. È una buona idea rimanere informati e aggiornati. Alcuni strumenti fungono da intermediari, come Struttura delle entità, semplificando la scrittura del codice relativo al database.

Come portare avanti il ​​tuo viaggio VB.NET

VB.NET, con la sua connessione profondamente radicata all'ecosistema Microsoft, è robusto e facile da usare. Per coglierne veramente la potenza, inizia con la documentazione ufficiale fornita da Microsoft. Da lì, esplora corsi, forum e community online, in cui sviluppatori esperti condividono le loro conoscenze e approfondimenti.

Ricorda, ogni esperto una volta era un principiante. Con impegno costante, curiosità e le giuste risorse, ti ritroverai presto a navigare in VB.NET con sicurezza e facilità. Man mano che avanzi, non esitare a sperimentare, porre domande e, soprattutto, goderti il ​​processo di scoperta.