Avastage, kuidas VB.NET-i abil väljastada levinumaid SQL-käske.

VB.NET pakub sujuvat lähenemist andmebaasitoimingutele koos tugeva raamistikuga. Selle võimsust kasutades saate asjakohast teavet kiiresti ja minimaalse pingutusega.

Vaadake mõnda praktilist näidet, mis näitavad, kuidas VB.NET-i SQL-päringute tegemiseks kasutada, ja vaadake, kuidas saate tagada, et andmete otsimine on nii tõhus kui ka tõhus.

Kohaliku SQL-serveri seadistamine

Alustage SQL-serveri seadistamisega, et kõike samm-sammult üle vaadata. Allolevates näidetes näete Windowsi keskkonda, kuid kui kasutate a erinevat operatsioonisüsteemi nagu Linux ja teil on erinev SQL-server, ärge muretsege; üldine loogika jääb samaks.

Tänu oma lihtsusele ja nullkonfiguratsioonile on SQLite suurepärane valik algajatele.

Asjade seadistamiseks looge seejärel uus kaust avage käsuviip ja navigeerige selle juurde. Käivitage järgmine käsk, et luua uus .NET-projekt, milles saate kasutada VB.NET-i keelt:

dotnet new console -lang VB -o MyVBApp

Teil on nüüd projekt nimega

instagram viewer
MyVBApp. Jätkake häälestamist, integreerides paketi SQLite oma VB.NET-projekti, kasutades NuGeti, populaarset .NET-i paketihaldurit. Käivitage see käsk:

dotnet add package System.Data.SQLite

Pärast SQLite'i lisamist saate hõlpsalt seadistada kohaliku andmebaasi.

Kogu nende näidete koodi leiate projektist GitHubi hoidla.

Laadige alla InitializeDatabase.vb faili projekti hoidlast. See konkreetne fail aitab teil andmebaasi konfigureerida. Nagu näete selles failis, on mõned kasutajad ja kasutajate riigid. Saate seda kasutada näidisandmebaasina.

VB.NET projekti loomisel kasutatud käsk lõi faili nimega Programm.vb. Avage see fail ja värskendage seda järgmiselt.

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

Käivitage see programm ja peaksite nägema, et see loob faili nimega minu andmebaas.db. See on lihtne andmebaas, mida kasutate järgmistes näidetes.

Andmebaasiühenduse loomine SQL-iga VB.NET-is

Ühenduse loomine SQLite'i abil VB.NET-is on lihtne. Jätkake redigeerimist Programm.vb faili ja eemaldage alamprogrammi Main olemasolev sisu. See fail toimib projekti tuumana.

Saate määrata ühenduse andmebaasifailiga mydatabase.db selle koodireaga:

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

Andmeallikas määrab andmebaasi faili nime. Kui faili pole, loob SQLite ühenduse loomisel uue andmebaasi.

Järgmine samm on kasutada SQLiteConnection klassi ühenduse eksemplari loomiseks. Peaksite alati kasutama a Kasutades blokeerige andmebaasiühendustega töötades, et vältida võimalikke lekkeid või ummikseisu:

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

' Database operations go here
EndUsing

Kasutamise plokk tagab, et ühendus suletakse selle lõppedes automaatselt.

Teie lõplik Program.vb fail peaks välja nägema umbes selline:

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

See kood loob ühenduse andmebaasiga mydatabase.db ja prindib õnnestumisel kinnitusteate. Kui ilmneb tõrge, prindib see üksikasjad konsooli.

Kuidas andmeid tuua ja massiivi laadida

The VALISQL käsk on peamine viis andmete toomiseks SQL-andmebaasist. Kui teil on laud nimega Kasutajad oma andmebaasis ja soovite hankida Nimi välja igast selle tabeli kirjest, kasutage valikut SELECT järgmiselt:

SELECT Name FROM Users

Saate tõmmata andmeid andmebaasist ja laadida need massiivi, lisades selle päringu faili 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

Näete konsoolil nimede loendit, mis vastab teie andmebaasi tabeli sisule:

See kood laadib andmed a Nimekiri struktuur – millel on dünaamiline suurus – enne selle teisendamist massiiviks. See lähenemine on väga kasulik olukordades, kus te ei tea eelnevalt allalaaditavate kirjete arvu.

Kuidas kasutada INSERTi andmete lisamiseks andmebaasi

Võite kasutada INSERT INTO käsk uute andmete lisamiseks andmebaasi. Näiteks kaaluge Kasutajad tabel, millel on kaks nimega veergu Nimi ja Riik.

Põhiline SQL-päring, mida saate uue kasutaja lisamiseks kasutada, on järgmine:

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

Selle päringu abil andmebaasi uue kasutaja lisamiseks värskendage faili Program.vb järgmiselt.

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

See lihtne näide kasutab päringu koostamiseks stringide interpolatsiooni, kuid tootmiskoodis peaksite seda vältima, kuna see on SQL-i süstimise suhtes haavatav. Alternatiiviks on parameetritega päringud, mis muudavad andmebaasitoimingud turvalisemaks ja tõhusamaks.

Parameetrilised päringud kasutavad SQL-päringutele väärtuste lisamiseks stringide otsese konkateneerimise asemel kohahoidjaid. See lähenemisviis aitab teil vältida paljusid turvaohte:

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

Kõik muud näpunäited VB.Neti andmebaasiga töötamiseks

Andmebaasitoimingud VB.NET-is võivad esialgu tunduda hirmutavad, kuid mõne juhise järgi saate põhitõdesid hõlpsalt omandada.

  • Kasutage turvaaukude eest kaitsmiseks parameetritega päringuid.
  • Kui olete andmete toomise või värskendamise lõpetanud, sulgege alati andmebaasiühendus.
  • Säilitage oma andmebaasi, et optimeerida selle struktuuri, kuna teie andmemudel aja jooksul muutub.
  • Ärge unustage hädaolukorras varukoopiaid teha.

Nagu iga tehnoloogia puhul, arenevad andmebaasid. Tarkvara värskendatakse, ilmuvad uued tööriistad ja avastame paremaid viise asjade tegemiseks. Hea mõte on olla kursis ja kursis. Mõned tööriistad toimivad vahendajatena, näiteks Olemi raamistik, mis muudab andmebaasiga seotud koodi kirjutamise lihtsamaks.

Kuidas oma VB.NET-i reisi edasi viia

VB.NET, millel on sügavalt juurdunud ühendus Microsofti ökosüsteemiga, on nii tugev kui ka kasutajasõbralik. Selle võimsuse tõeliseks mõistmiseks alustage Microsofti pakutavast ametlikust dokumentatsioonist. Sealt saate tutvuda veebikursuste, foorumite ja kogukondadega, kus kogenud arendajad jagavad oma teadmisi ja teadmisi.

Pidage meeles, et iga ekspert oli kunagi algaja. Järjepideva pingutuse, uudishimu ja õigete ressursside abil leiate end peagi VB.NET-is enesekindlalt ja hõlpsalt navigeerimas. Edenedes ärge kõhelge katsetamast, küsige küsimusi ja – mis kõige tähtsam – nautige avastamisprotsessi.