Fedezze fel, hogyan adhatja ki a leggyakoribb SQL-parancsokat a VB.NET használatával.
A VB.NET egyszerűsített megközelítést kínál az adatbázis-műveletekhez, robusztus keretrendszerrel. Erejét kihasználva gyorsan és minimális erőfeszítéssel juthat releváns információkhoz.
Vessen egy pillantást néhány gyakorlati példára, amelyek bemutatják, hogyan lehet a VB.NET-et SQL-lekérdezések végrehajtására használni, és nézze meg, hogyan biztosíthatja az adatok visszakeresésének hatékonyságát és eredményességét.
Helyi SQL szerver beállítása
Kezdje egy SQL-kiszolgáló beállításával, hogy lépésről lépésre mindent áttekintsen. Az alábbi példákban Windows környezetet fog látni, de ha a különböző operációs rendszerek, mint a Linux és van egy másik SQL-kiszolgálója, ne aggódjon; az általános logika ugyanaz marad.
Egyszerűsége és nulla konfigurációs megközelítése miatt az SQLite kiváló választás kezdőknek.
A dolgok beállításához hozzon létre egy új mappát, majd nyisson meg egy parancssort és navigáljon hozzá. Futtassa a következő parancsot egy új .NET projekt létrehozásához, amelyben használhatja a VB.NET nyelvet:
dotnet new console -lang VB -o MyVBApp
Most van egy projektje MyVBApp. Folytassa a telepítést az SQLite csomag integrálásával a VB.NET projektbe a NuGet, a .NET népszerű csomagkezelője segítségével. Futtassa ezt a parancsot:
dotnet add package System.Data.SQLite
Az SQLite hozzáadása után könnyedén beállíthat egy helyi adatbázist.
Ezekhez a példákhoz az összes kódot megtalálja a projektben GitHub adattár.
Töltse le a InitializeDatabase.vb fájlt a projekt tárházából. Ez a fájl segít az adatbázis konfigurálásában. Amint ebben a fájlban látható, van néhány felhasználó és a felhasználók országa. Ezt használhatja minta adatbázisként.
A VB.NET projekt létrehozásához használt parancs egy nevű fájlt hozott létre Program.vb. Nyissa meg ezt a fájlt, és frissítse az alábbiak szerint:
Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule
Futtassa ezt a programot, és látnia kell, hogy létrehoz egy nevű fájlt sajátadatbázis.db. Ez az az egyszerű adatbázis, amelyet a következő példákban fog használni.
Adatbázis-kapcsolat létrehozása SQL-lel a VB.NET-ben
A kapcsolat létrehozása az SQLite használatával a VB.NET-ben egyszerű. Folytassa a szerkesztést Program.vb fájlt, és távolítsa el a Main szubrutin meglévő tartalmát. Ez a fájl a projekt magjaként szolgál.
Ezzel a kódsorral definiálhat kapcsolatot a mydatabase.db adatbázisfájllal:
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"
Adatforrás megadja az adatbázis fájl nevét. Ha a fájl nem létezik, az SQLite új adatbázist hoz létre, amikor kapcsolatot létesít.
A következő lépés a SQLiteConnection osztályt egy kapcsolatpéldány létrehozásához. Mindig használja a Használata blokkolja, amikor adatbázis-kapcsolatokkal dolgozik, hogy elkerülje az esetleges szivárgásokat vagy holtpontokat:
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
EndUsing
A Használat blokk biztosítja, hogy a kapcsolat automatikusan lezáruljon, amikor befejeződik.
A végleges Program.vb fájlnak valahogy így kell kinéznie:
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
Ez a kód csatlakozik a mydatabase.db adatbázishoz, és sikeres megerősítő üzenetet nyomtat. Ha hiba történik, részleteket nyomtat a konzolra.
Hogyan töltsünk le adatokat és töltsünk be egy tömbbe
A KIVÁLASZTÁSSQL parancs az adatok SQL adatbázisból való lekérésének fő módja. Ha van egy nevű táblázatod Felhasználók az adatbázisában, és szeretné megszerezni a Név mező minden rekordjából a táblázatban, használja a SELECT parancsot így:
SELECT Name FROM Users
Lehívhatja az adatokat az adatbázisból, és egy tömbbe töltheti be, ha hozzáadja ezt a lekérdezést a Program.vb fájlhoz:
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
A konzolon megjelenik egy névlista, amely megfelel az adatbázistáblázat tartalmának:
Ez a kód betölti az adatokat a Lista dinamikus méretű szerkezetet, mielőtt befejezésekor tömbbé alakítaná. Ez a megközelítés nagyon hasznos olyan helyzetekben, amikor nem tudja előre a visszakeresendő rekordok számát.
Az INSERT használata adatok adatbázishoz való hozzáadásához
Használhatja a INSERT INTO parancs új adatok hozzáadásához az adatbázishoz. Vegyük például a Felhasználók táblázat, amelynek két oszlopa van Név és Ország.
Az alapvető SQL-lekérdezés, amellyel új felhasználót adhat hozzá, a következő:
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Ha új felhasználót szeretne hozzáadni az adatbázishoz ezzel a lekérdezéssel, frissítse a Program.vb fájlt az alábbiak szerint:
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!")
Ez az egyszerű példa karakterlánc-interpolációt használ a lekérdezés felépítéséhez, de ezt kerülje el a termelési kódban, mivel ez sebezhető az SQL injekcióval szemben. Az alternatíva a paraméterezett lekérdezések, amelyek biztonságosabbá és hatékonyabbá teszik az adatbázis-műveleteket.
A paraméterezett lekérdezések helyőrzőket használnak a közvetlen karakterlánc-összefűzés helyett, hogy értékeket adjanak az SQL-lekérdezésekhez. Ez a megközelítés segít elkerülni számos biztonsági fenyegetést:
Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Egyéb tippek a VB.Neten belüli adatbázisok használatához
A VB.NET adatbázis-műveletei eleinte ijesztőnek tűnhetnek, de néhány irányelvvel könnyedén elsajátíthatja az alapokat.
- Használjon parametrizált lekérdezéseket a biztonsági rések elleni védekezéshez.
- Mindig zárja le az adatbázis-kapcsolatot, ha befejezte az adatok lekérését vagy frissítését.
- Karbantartsa adatbázisát, hogy optimalizálja annak szerkezetét, ahogy az adatmodell idővel változik.
- Vészhelyzet esetén ne felejtsen el biztonsági másolatot készíteni.
Mint minden technológia, az adatbázisok is fejlődnek. A szoftverek frissülnek, új eszközök jelennek meg, és jobb módszereket fedezünk fel a dolgok elvégzésére. Célszerű tájékozódni és naprakész lenni. Egyes eszközök közvetítőként működnek, mint pl Entitás-keretrendszer, ami megkönnyíti az adatbázishoz kapcsolódó kód írását.
Hogyan vigye tovább VB.NET-es utazását
A Microsoft ökoszisztémához való mélyen gyökerező kapcsolatával a VB.NET robusztus és felhasználóbarát is. Ahhoz, hogy valóban megragadja erejét, kezdje a Microsoft által biztosított hivatalos dokumentációval. Innen fedezze fel az online tanfolyamokat, fórumokat és közösségeket, ahol tapasztalt fejlesztők osztják meg tudásukat és meglátásaikat.
Ne feledje, valaha minden szakértő kezdő volt. Következetes erőfeszítéssel, kíváncsisággal és megfelelő erőforrásokkal hamarosan azon kapja magát, hogy magabiztosan és könnyedén navigál a VB.NET-en. Ahogy halad előre, ne habozzon kísérletezni, kérdéseket feltenni, és – ami a legfontosabb – élvezni a felfedezés folyamatát.