Zjistěte, jak zadávat nejběžnější příkazy SQL pomocí VB.NET.
VB.NET nabízí zjednodušený přístup k databázovým operacím s robustním rámcem. S jeho výkonem můžete rychle a s minimální námahou získat relevantní informace.
Podívejte se na několik praktických příkladů, které ukazují, jak používat VB.NET k provádění SQL dotazů, a zjistěte, jak můžete zajistit, aby načítání dat bylo efektivní a efektivní.
Nastavení místního serveru SQL
Začněte nastavením serveru SQL, abyste si vše mohli prohlédnout krok za krokem. V příkladech níže uvidíte prostředí Windows, ale pokud používáte a jiný operační systém, jako je Linux a mít jiný SQL server, nebojte se; obecná logika zůstane stejná.
Vzhledem ke své jednoduchosti a přístupu nulové konfigurace je SQLite vynikající volbou pro začátečníky.
Chcete-li věci nastavit, vytvořte novou složku otevřete příkazový řádek a navigovat k němu. Spuštěním následujícího příkazu vytvořte nový projekt .NET, ve kterém můžete používat jazyk VB.NET:
dotnet new console -lang VB -o MyVBApp
Nyní máte projekt s názvem MyVBApp. Pokračujte v nastavení integrací balíčku SQLite do vašeho projektu VB.NET pomocí NuGet, oblíbeného správce balíčků pro .NET. Spusťte tento příkaz:
dotnet add package System.Data.SQLite
Po přidání SQLite můžete bez námahy nastavit místní databázi.
Veškerý kód pro tyto příklady najdete v projektu úložiště GitHub.
Stáhněte si InitializeDatabase.vb soubor z úložiště projektu. Tento konkrétní soubor vám pomůže nakonfigurovat databázi. Jak můžete vidět v tomto souboru, existují někteří uživatelé a země uživatelů. Můžete to použít jako vzorovou databázi.
Příkaz, který jste použili k vytvoření projektu VB.NET, vytvořil soubor s názvem Program.vb. Otevřete tento soubor a aktualizujte jej následovně:
Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule
Spusťte tento program a měli byste vidět, že vytváří soubor s názvem mojedatabase.db. Toto je jednoduchá databáze, kterou použijete v následujících příkladech.
Navázání databázového spojení s SQL ve VB.NET
Navázání připojení pomocí SQLite ve VB.NET je jednoduché. Pokračujte v úpravách Program.vb soubor a odstraňte stávající obsah hlavního podprogramu. Tento soubor slouží jako jádro projektu.
Můžete definovat připojení k databázovému souboru mydatabase.db pomocí tohoto řádku kódu:
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"
Zdroj dat určuje název souboru databáze. Pokud soubor neexistuje, SQLite po navázání spojení vytvoří novou databázi.
Dalším krokem je použití SQLiteConnection třídy k vytvoření instance připojení. Vždy byste měli používat a Použitím blokovat při práci s databázovými připojeními, abyste se vyhnuli potenciálním únikům nebo uváznutí:
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
EndUsing
Blok Použití zajišťuje, že se připojení po dokončení automaticky ukončí.
Váš konečný soubor Program.vb by měl vypadat nějak takto:
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
Tento kód se připojí k databázi mydatabase.db a vytiskne potvrzovací zprávu, když uspěje. Pokud dojde k chybě, vytiskne podrobnosti do konzole.
Jak načíst data a načíst je do pole
The VYBRATSQL příkaz je hlavní způsob získávání dat z SQL databáze. Pokud máte tabulku s názvem Uživatelé ve vaší databázi a chcete získat název pole z každého záznamu v této tabulce použijte SELECT takto:
SELECT Name FROM Users
Můžete vytáhnout data z databáze a načíst je do pole přidáním tohoto dotazu do souboru 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 konzole uvidíte seznam jmen odpovídající obsahu vaší databázové tabulky:
Tento kód načte data do a Seznam struktura, která má dynamickou velikost, než ji po dokončení převedete na pole. Tento přístup je velmi užitečný v situacích, kdy předem neznáte počet záznamů, které získáte.
Jak používat INSERT k přidávání dat do databáze
Můžete použít VLOŽ DO příkaz pro přidání nových dat do databáze. Zvažte například Uživatelé tabulka, která má dva pojmenované sloupce název a Země.
Základní SQL dotaz, který můžete použít k přidání nového uživatele, by byl:
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Chcete-li přidat nového uživatele do databáze pomocí tohoto dotazu, aktualizujte soubor Program.vb následovně:
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!")
Tento jednoduchý příklad používá k vytvoření dotazu interpolaci řetězců, ale v produkčním kódu byste se tomu měli vyhnout, protože je zranitelný vůči SQL injection. Alternativou jsou parametrizované dotazy, které činí databázové operace bezpečnější a efektivnější.
Parametrizované dotazy používají zástupné symboly namísto přímého zřetězení řetězců k přidávání hodnot do dotazů SQL. Tento přístup vám pomůže vyhnout se mnoha bezpečnostním hrozbám:
Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Jakékoli další tipy pro práci s databází z VB.Net
Databázové operace ve VB.NET se mohou zpočátku zdát skličující, ale s několika pokyny snadno zvládnete základy.
- Použijte parametrizované dotazy k ochraně před bezpečnostními chybami.
- Po dokončení načítání nebo aktualizace dat vždy ukončete připojení k databázi.
- Udržujte databázi, abyste optimalizovali její strukturu, protože se váš datový model v průběhu času mění.
- Nezapomeňte si vytvořit záložní kopie pro případ nouze.
Jako každá technologie se i databáze vyvíjejí. Software se aktualizuje, objevují se nové nástroje a objevujeme lepší způsoby, jak věci dělat. Je dobré zůstat informovaný a aktuální. Některé nástroje fungují jako zprostředkovatelé, např Entity Framework, což usnadňuje psaní kódu souvisejícího s databází.
Jak posunout svou cestu VB.NET dále
VB.NET se svým hluboce zakořeněným připojením k ekosystému Microsoftu je robustní a uživatelsky přívětivý. Abyste skutečně pochopili jeho sílu, začněte s oficiální dokumentací od společnosti Microsoft. Odtud prozkoumejte online kurzy, fóra a komunity, kde zkušení vývojáři sdílejí své znalosti a postřehy.
Pamatujte, že každý odborník byl jednou začátečník. Díky neustálému úsilí, zvědavosti a správným zdrojům brzy zjistíte, že se ve VB.NET pohybujete sebejistě a snadno. Jak postupujete, neváhejte experimentovat, klást otázky a – co je nejdůležitější – užívat si proces objevování.