Oppdag hvordan du utsteder de vanligste SQL-kommandoene ved hjelp av VB.NET.

VB.NET tilbyr en strømlinjeformet tilnærming til databaseoperasjoner, med et robust rammeverk. Ved å bruke kraften kan du få relevant informasjon raskt og med minimal innsats.

Ta en titt på noen praktiske eksempler som viser hvordan du bruker VB.NET til å utføre SQL-spørringer, og se hvordan du kan sikre at datainnhenting er både effektiv og effektiv.

Sette opp din lokale SQL-server

Start med å sette opp en SQL-server for å gjennomgå alt trinn for trinn. I eksemplene nedenfor vil du se et Windows-miljø, men hvis du bruker en annet operativsystem som Linux og har en annen SQL-server, ikke bekymre deg; den generelle logikken vil forbli den samme.

På grunn av sin enkelhet og tilnærming med null konfigurasjon, er SQLite et utmerket valg for nybegynnere.

For å sette opp ting, lag en ny mappe, og deretter åpne en ledetekst og naviger til den. Kjør følgende kommando for å lage et nytt .NET-prosjekt der du kan bruke VB.NET-språket:

dotnet new console -lang VB -o MyVBApp

Du har nå et prosjekt som heter MyVBApp. Fortsett oppsettet ved å integrere SQLite-pakken i VB.NET-prosjektet ditt ved å bruke NuGet, en populær pakkebehandler for .NET. Kjør denne kommandoen:

dotnet add package System.Data.SQLite

Etter at du har lagt til SQLite, kan du enkelt sette opp en lokal database.

Du finner all koden for disse eksemplene i prosjektets GitHub-depot.

Last ned InitializeDatabase.vb fil fra prosjektets depot. Denne spesielle filen vil hjelpe deg med å konfigurere databasen. Som du kan se i denne filen er det noen brukere og brukerland. Du kan bruke dette som en eksempeldatabase.

Kommandoen du brukte til å opprette VB.NET-prosjektet opprettet en fil med navnet Program.vb. Åpne denne filen og oppdater den som følger:

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

Kjør dette programmet og du bør se at det oppretter en fil med navnet mindatabase.db. Dette er den enkle databasen du vil bruke i de følgende eksemplene.

Etablere en databaseforbindelse med SQL i VB.NET

Det er enkelt å etablere en tilkobling ved hjelp av SQLite i VB.NET. Fortsett å redigere Program.vb fil og fjern det eksisterende innholdet i hovedunderrutinen. Denne filen fungerer som prosjektets kjerne.

Du kan definere en tilkobling til databasefilen, mydatabase.db, med denne kodelinjen:

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

Datakilde spesifiserer databasefilnavnet. Hvis filen ikke eksisterer, vil SQLite opprette en ny database når den oppretter en tilkobling.

Det neste trinnet er å bruke SQLiteConnection klasse for å opprette en tilkoblingsforekomst. Du bør alltid bruke en Ved hjelp av blokkere når du arbeider med databasetilkoblinger for å unngå potensielle lekkasjer eller vranglåser:

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

' Database operations go here
EndUsing

Bruker-blokken sikrer at tilkoblingen lukkes automatisk når den er fullført.

Den endelige Program.vb-filen din skal se omtrent slik ut:

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

Denne koden vil koble til mydatabase.db-databasen og skrive ut en bekreftelsesmelding når den lykkes. Hvis det oppstår en feil, vil den skrive ut detaljer til konsollen.

Hvordan hente data og laste dem inn i en matrise

De PLUKKE UTSQL kommando er den viktigste måten å hente data fra en SQL-database. Hvis du har et bord som heter Brukere i databasen din og du ønsker å få Navn feltet fra hver post i den tabellen, bruk SELECT slik:

SELECT Name FROM Users

Du kan hente data fra databasen og laste dem inn i en matrise ved å legge til denne spørringen i Program.vb-filen:

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

Du vil se en liste over navn på konsollen, som tilsvarer innholdet i databasetabellen din:

Denne koden laster dataene inn i en Liste struktur – som har en dynamisk størrelse – før den konverteres til en matrise ved fullføring. Denne tilnærmingen er veldig nyttig for situasjoner der du ikke på forhånd vet hvor mange poster du vil hente.

Hvordan bruke INSERT for å legge til data i en database

Du kan bruke SETTE INN I kommando for å legge til nye data til en database. Tenk for eksempel på Brukere tabell som har to kolonner navngitt Navn og Land.

Den grunnleggende SQL-spørringen du kan bruke for å legge til en ny bruker er:

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

For å legge til en ny bruker i databasen ved hjelp av denne spørringen, oppdater Program.vb-filen som følger:

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!")

Dette enkle eksemplet bruker strenginterpolasjon for å bygge spørringen, men du bør unngå dette i produksjonskoden siden det er sårbar for SQL-injeksjon. Alternativet er parameteriserte spørringer som gjør databaseoperasjoner sikrere og mer effektive.

Parameteriserte spørringer bruker plassholdere, i stedet for direkte strengsammenkobling, for å legge til verdier til SQL-spørringer. Denne tilnærmingen vil hjelpe deg å unngå mange sikkerhetstrusler:

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

Andre tips for å jobbe med en database fra VB.Net

Databaseoperasjoner i VB.NET kan i utgangspunktet virke skremmende, men med noen få retningslinjer kan du enkelt mestre det grunnleggende.

  • Bruk parametriserte spørringer for å beskytte mot sikkerhetssårbarheter.
  • Lukk alltid databasetilkoblingen når du er ferdig med å hente eller oppdatere data.
  • Vedlikehold databasen din for å optimalisere strukturen etter hvert som datamodellen endres over tid.
  • Ikke glem å ta sikkerhetskopier i nødstilfeller.

Som med all teknologi, utvikler databaser seg. Programvare blir oppdatert, nye verktøy dukker opp, og vi oppdager bedre måter å gjøre ting på. Det er lurt å holde seg informert og oppdatert. Noen verktøy fungerer som mellomledd, f.eks Entitetsrammeverk, noe som gjør det enklere å skrive databaserelatert kode.

Slik tar du VB.NET-reisen din videre

VB.NET, med sin dypt forankrede forbindelse til Microsofts økosystem, er både robust og brukervennlig. For å virkelig forstå kraften, start med den offisielle dokumentasjonen levert av Microsoft. Derfra kan du utforske nettbaserte kurs, fora og fellesskap, der erfarne utviklere deler sin kunnskap og innsikt.

Husk at hver ekspert en gang var nybegynner. Med konsekvent innsats, nysgjerrighet og de riktige ressursene vil du snart finne deg selv å navigere VB.NET med selvtillit og letthet. Når du går videre, ikke nøl med å eksperimentere, stille spørsmål og – viktigst av alt – nyt oppdagelsesprosessen.