Otkrijte kako izdati najčešće SQL naredbe koristeći VB.NET.

VB.NET nudi pojednostavljen pristup operacijama baze podataka, s robusnim okvirom. Koristeći njegovu snagu, možete dobiti relevantne informacije brzo i uz minimalan napor.

Pogledajte neke praktične primjere koji pokazuju kako koristiti VB.NET za izvođenje SQL upita i pogledajte kako možete osigurati da dohvaćanje podataka bude učinkovito i djelotvorno.

Postavljanje vašeg lokalnog SQL poslužitelja

Započnite postavljanjem SQL poslužitelja za pregled svega korak po korak. U primjerima ispod vidjet ćete Windows okruženje, ali ako koristite a drugačiji operativni sustav poput Linuxa i imate drugi SQL poslužitelj, ne brinite; opća će logika ostati ista.

Zbog svoje jednostavnosti i pristupa bez konfiguracije, SQLite je izvrstan izbor za početnike.

Da biste postavili stvari, stvorite novu mapu otvorite naredbeni redak i dođite do njega. Pokrenite sljedeću naredbu za stvaranje novog .NET projekta u kojem možete koristiti VB.NET jezik:

dotnet new console -lang VB -o MyVBApp

Sada imate projekt pod nazivom MyVBApp. Nastavite s postavljanjem integracijom SQLite paketa u svoj VB.NET projekt koristeći NuGet, popularni upravitelj paketa za .NET. Pokrenite ovu naredbu:

dotnet add package System.Data.SQLite

Nakon što ste dodali SQLite, možete bez napora postaviti lokalnu bazu podataka.

Sav kod za ove primjere možete pronaći u projektu GitHub spremište.

Preuzmite InitializeDatabase.vb datoteku iz repozitorija projekta. Ova posebna datoteka pomoći će vam da konfigurirate svoju bazu podataka. Kao što možete vidjeti u ovoj datoteci postoje neki korisnici i zemlje korisnika. Ovo možete koristiti kao oglednu bazu podataka.

Naredba koju ste koristili za stvaranje VB.NET projekta stvorila je datoteku pod nazivom Program.vb. Otvorite ovu datoteku i ažurirajte je na sljedeći način:

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

Pokrenite ovaj program i trebali biste vidjeti kako stvara datoteku pod nazivom moja baza podataka.db. Ovo je jednostavna baza podataka koju ćete koristiti u sljedećim primjerima.

Uspostavljanje veze s bazom podataka pomoću SQL-a u VB.NET-u

Uspostavljanje veze korištenjem SQLite u VB.NET-u jednostavno je. Nastavite s uređivanjem Program.vb datoteku i uklonite postojeći sadržaj glavne podrutine. Ova datoteka služi kao jezgra projekta.

Možete definirati vezu s datotekom baze podataka, mydatabase.db, pomoću ove linije koda:

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

Izvor podataka navodi naziv datoteke baze podataka. Ako datoteka ne postoji, SQLite će stvoriti novu bazu podataka kada uspostavi vezu.

Sljedeći korak je korištenje SQLiteConnection klase za stvaranje instance veze. Uvijek biste trebali koristiti a Korištenje blokirajte kada radite s vezama baze podataka kako biste izbjegli potencijalna curenja ili zastoje:

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

' Database operations go here
EndUsing

Blok Korištenje osigurava da se veza automatski zatvori kada se završi.

Vaša konačna datoteka Program.vb trebala bi izgledati otprilike ovako:

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

Ovaj kod će se povezati s bazom podataka mydatabase.db i ispisati poruku potvrde kada uspije. Ako dođe do pogreške, ispisat će detalje na konzoli.

Kako dohvatiti podatke i učitati ih u polje

The IZABERISQL naredba je glavni način dohvaćanja podataka iz SQL baze podataka. Ako imate tablicu pod nazivom Korisnici u vašoj bazi podataka i želite dobiti Ime polja iz svakog zapisa u toj tablici, koristite SELECT ovako:

SELECT Name FROM Users

Možete izvući podatke iz baze podataka i učitati ih u polje dodavanjem ovog upita u datoteku 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

Na konzoli ćete vidjeti popis imena koji odgovaraju sadržaju vaše tablice baze podataka:

Ovaj kod učitava podatke u a Popis strukturu—koja ima dinamičku veličinu—prije pretvaranja u niz po završetku. Ovaj je pristup vrlo koristan u situacijama u kojima ne znate unaprijed broj zapisa koje ćete dohvatiti.

Kako koristiti INSERT za dodavanje podataka u bazu podataka

Možete koristiti UMETNUTI U naredba za dodavanje novih podataka u bazu podataka. Na primjer, razmotrite Korisnici tablica koja ima dva stupca s nazivom Ime i Zemlja.

Osnovni SQL upit koji možete koristiti za dodavanje novog korisnika bio bi:

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

Da biste dodali novog korisnika u bazu podataka pomoću ovog upita, ažurirajte datoteku Program.vb na sljedeći način:

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

Ovaj jednostavan primjer koristi interpolaciju niza za izradu upita, ali trebali biste to izbjegavati u proizvodnom kodu jer je ranjiv na SQL injekciju. Alternativa su parametrizirani upiti koji rad s bazom podataka čine sigurnijim i učinkovitijim.

Parametrirani upiti koriste rezervirana mjesta, umjesto izravnog spajanja nizova, za dodavanje vrijednosti SQL upitima. Ovaj pristup pomoći će vam da izbjegnete mnoge sigurnosne prijetnje:

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

Svi drugi savjeti za rad s bazom podataka unutar VB.Neta

Operacije s bazom podataka u VB.NET-u u početku se mogu činiti zastrašujućima, ali uz nekoliko smjernica možete lako svladati osnove.

  • Koristite parametrizirane upite za zaštitu od sigurnosnih propusta.
  • Uvijek zatvorite vezu s bazom podataka kada završite s dohvaćanjem ili ažuriranjem podataka.
  • Održavajte svoju bazu podataka kako biste optimizirali njezinu strukturu kako se vaš podatkovni model mijenja tijekom vremena.
  • Ne zaboravite napraviti sigurnosne kopije u slučaju nužde.

Kao i kod svake druge tehnologije, baze podataka se razvijaju. Softver se ažurira, pojavljuju se novi alati i otkrivamo bolje načine obavljanja stvari. Dobro je biti informiran i ažuriran. Neki alati djeluju kao posrednici, npr Okvir entiteta, što olakšava pisanje koda povezanog s bazom podataka.

Kako nastaviti svoje VB.NET putovanje dalje

VB.NET, sa svojom duboko ukorijenjenom vezom s Microsoftovim ekosustavom, robustan je i jednostavan za korištenje. Da biste doista shvatili njegovu moć, počnite sa službenom dokumentacijom koju je osigurao Microsoft. Odatle istražite online tečajeve, forume i zajednice u kojima iskusni programeri dijele svoje znanje i uvide.

Zapamtite, svaki je stručnjak jednom bio početnik. Uz dosljedan trud, znatiželju i prave resurse, uskoro ćete se snaći u VB.NET-u s pouzdanjem i lakoćom. Dok napredujete, nemojte se ustručavati eksperimentirati, postavljati pitanja i – što je najvažnije – uživati ​​u procesu otkrivanja.