Sužinokite, kaip išleisti dažniausiai naudojamas SQL komandas naudojant VB.NET.
VB.NET siūlo supaprastintą duomenų bazių operacijų metodą su tvirta sistema. Naudodamiesi jo galia, galite greitai ir su minimaliomis pastangomis gauti reikiamą informaciją.
Pažvelkite į keletą praktinių pavyzdžių, rodančių, kaip naudoti VB.NET SQL užklausoms atlikti, ir sužinokite, kaip galite užtikrinti, kad duomenų gavimas būtų efektyvus ir efektyvus.
Vietinio SQL serverio nustatymas
Pradėkite nuo SQL serverio nustatymo, kad viską peržiūrėtumėte žingsnis po žingsnio. Toliau pateiktuose pavyzdžiuose matysite „Windows“ aplinką, bet jei naudojate a skirtingos operacinės sistemos, tokios kaip Linux ir turėti kitą SQL serverį, nesijaudinkite; bendra logika išliks ta pati.
Dėl savo paprastumo ir nulinės konfigūracijos metodo SQLite yra puikus pasirinkimas pradedantiesiems.
Norėdami nustatyti dalykus, sukurkite naują aplanką atidarykite komandų eilutę ir eikite į jį. Paleiskite šią komandą, kad sukurtumėte naują .NET projektą, kuriame galėtumėte naudoti VB.NET kalbą:
dotnet new console -lang VB -o MyVBApp
Dabar turite projektą pavadinimu MyVBApp. Tęskite sąranką integruodami SQLite paketą į savo VB.NET projektą naudodami NuGet, populiarią .NET paketų tvarkyklę. Vykdykite šią komandą:
dotnet add package System.Data.SQLite
Pridėję SQLite galite be vargo nustatyti vietinę duomenų bazę.
Visus šių pavyzdžių kodus galite rasti projekte GitHub saugykla.
Atsisiųskite InitializeDatabase.vb failą iš projekto saugyklos. Šis konkretus failas padės sukonfigūruoti duomenų bazę. Kaip matote šiame faile, yra keletas vartotojų ir naudotojų šalių. Galite naudoti tai kaip pavyzdinę duomenų bazę.
Komanda, kurią naudojote kurdami VB.NET projektą, sukūrė failą pavadinimu Programa.vb. Atidarykite šį failą ir atnaujinkite jį taip:
Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule
Paleiskite šią programą ir turėtumėte pamatyti, kaip ji sukuria failą pavadinimu mano duomenų bazė.db. Tai paprasta duomenų bazė, kurią naudosite šiuose pavyzdžiuose.
Duomenų bazės ryšio su SQL užmezgimas VB.NET
Užmegzti ryšį naudojant SQLite VB.NET yra paprasta. Tęskite redagavimą Programa.vb failą ir pašalinkite esamą pagrindinės paprogramės turinį. Šis failas yra projekto pagrindas.
Galite apibrėžti ryšį su duomenų bazės failu mydatabase.db naudodami šią kodo eilutę:
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"
Duomenų šaltinis nurodo duomenų bazės failo pavadinimą. Jei failo nėra, SQLite sukurs naują duomenų bazę, kai užmegs ryšį.
Kitas žingsnis yra naudoti SQLiteConnection klasėje, kad sukurtumėte ryšio egzempliorių. Visada turėtumėte naudoti a Naudojant blokuoti dirbant su duomenų bazių jungtimis, kad būtų išvengta galimo nutekėjimo ar aklavietės:
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
EndUsing
Naudojimo blokas užtikrina, kad ryšys bus automatiškai uždarytas, kai jis bus baigtas.
Jūsų galutinis Program.vb failas turėtų atrodyti maždaug taip:
Imports System
Imports System.Data.SQLiteModule 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
Šis kodas prisijungs prie mydatabase.db duomenų bazės ir išspausdins patvirtinimo pranešimą, kai tai pavyks. Jei įvyks klaida, konsolėje bus išspausdinta išsami informacija.
Kaip gauti duomenis ir įkelti juos į masyvą
The PASIRINKTISQL komanda yra pagrindinis būdas gauti duomenis iš SQL duomenų bazės. Jei turite lentelę pavadinimu Vartotojai savo duomenų bazėje ir norite gauti vardas lauką iš kiekvieno tos lentelės įrašo, naudokite SELECT taip:
SELECT Name FROM Users
Galite paimti duomenis iš duomenų bazės ir įkelti juos į masyvą įtraukę šią užklausą į Program.vb failą:
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
Konsolėje pamatysite vardų sąrašą, atitinkantį jūsų duomenų bazės lentelės turinį:
Šis kodas įkelia duomenis į a Sąrašas struktūra, kuri turi dinaminį dydį, prieš konvertuojant ją į masyvą užbaigus. Šis metodas yra labai naudingas tais atvejais, kai iš anksto nežinote, kiek įrašų gausite.
Kaip naudoti INSERT norint įtraukti duomenis į duomenų bazę
Galite naudoti INSERT INTO komanda, norėdami pridėti naujų duomenų į duomenų bazę. Pavyzdžiui, apsvarstykite Vartotojai lentelė, kurioje yra du stulpeliai vardas ir Šalis.
Pagrindinė SQL užklausa, kurią galite naudoti norėdami pridėti naują vartotoją, būtų:
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Norėdami pridėti naują vartotoją prie duomenų bazės naudodami šią užklausą, atnaujinkite Program.vb failą taip:
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!")
Šiame paprastame pavyzdyje užklausai sukurti naudojama eilučių interpoliacija, tačiau turėtumėte to vengti gamybos kode, nes tai pažeidžiamas SQL injekcijos. Alternatyva yra parametrinės užklausos, dėl kurių duomenų bazės operacijos tampa saugesnės ir efektyvesnės.
Parametrizuotose užklausose naudojami vietos rezervavimo ženklai, o ne tiesioginis eilučių sujungimas, kad į SQL užklausas būtų įtrauktos reikšmės. Šis metodas padės išvengti daugelio saugumo grėsmių:
Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Visi kiti patarimai, kaip dirbti su duomenų baze iš VB.Net
Duomenų bazės operacijos VB.NET iš pradžių gali atrodyti bauginančios, tačiau vadovaudamiesi keliomis gairėmis galite lengvai įsisavinti pagrindus.
- Naudokite parametrizuotas užklausas, kad apsisaugotumėte nuo saugumo spragų.
- Visada uždarykite duomenų bazės ryšį, kai baigsite gauti arba atnaujinti duomenis.
- Tvarkykite savo duomenų bazę, kad optimizuotumėte jos struktūrą, nes laikui bėgant keičiasi duomenų modelis.
- Nepamirškite pasidaryti atsarginių kopijų kritiniais atvejais.
Kaip ir bet kuri technologija, duomenų bazės vystosi. Programinė įranga atnaujinama, atsiranda naujų įrankių ir atrandame geresnių veiksmų būdų. Gera idėja būti informuotam ir atnaujintam. Kai kurios priemonės veikia kaip tarpininkai, pvz Esybės struktūra, todėl lengviau rašyti su duomenų baze susijusį kodą.
Kaip tęsti savo VB.NET kelionę
VB.NET su giliai įsišaknijusiu ryšiu su „Microsoft“ ekosistema yra tvirtas ir patogus naudoti. Norėdami iš tikrųjų suvokti jo galią, pradėkite nuo oficialios „Microsoft“ pateiktos dokumentacijos. Iš ten naršykite internetinius kursus, forumus ir bendruomenes, kur patyrę kūrėjai dalijasi savo žiniomis ir įžvalgomis.
Atminkite, kad kiekvienas ekspertas kažkada buvo pradedantysis. Nuosekliomis pastangomis, smalsumu ir reikiamais ištekliais netrukus pastebėsite, kad naršysite VB.NET saugiai ir lengvai. Vykdydami pažangą, nedvejodami eksperimentuokite, užduokite klausimus ir, svarbiausia, mėgaukitės atradimo procesu.