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
instagram viewer

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.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

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í.