Узнайте, как выполнять наиболее распространенные команды SQL с помощью VB.NET.

VB.NET предлагает оптимизированный подход к операциям с базами данных с надежной структурой. Используя его возможности, вы сможете получить нужную информацию быстро и с минимальными усилиями.

Взгляните на некоторые практические примеры, показывающие, как использовать VB.NET для выполнения SQL-запросов, и узнайте, как обеспечить эффективность и результативность извлечения данных.

Настройка локального SQL-сервера

Начните с настройки SQL-сервера, чтобы шаг за шагом просматривать все. В примерах ниже вы увидите среду Windows, но если вы используете другая операционная система, например Linux и у вас другой SQL-сервер, не волнуйтесь; общая логика останется прежней.

Благодаря своей простоте и нулевому подходу к настройке SQLite является отличным выбором для новичков.

Чтобы настроить все, создайте новую папку, затем открыть командную строку и перейдите к нему. Выполните следующую команду, чтобы создать новый проект .NET, в котором вы сможете использовать язык VB.NET:

instagram viewer
dotnet new console -lang VB -o MyVBApp

Теперь у вас есть проект под названием MyVBApp. Продолжите настройку, интегрировав пакет SQLite в свой проект VB.NET с помощью NuGet, популярного менеджера пакетов для .NET. Запустите эту команду:

dotnet add package System.Data.SQLite

После добавления SQLite вы можете легко настроить локальную базу данных.

Весь код этих примеров вы можете найти в файле проекта. Репозиторий GitHub.

Загрузите ИнициализироватьDatabase.vb файл из репозитория проекта. Этот конкретный файл поможет вам настроить вашу базу данных. Как вы можете видеть в этом файле, есть несколько пользователей и стран пользователей. Вы можете использовать это как образец базы данных.

Команда, которую вы использовали для создания проекта VB.NET, создала файл с именем Программа.vb. Откройте этот файл и обновите его следующим образом:

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

Запустите эту программу, и вы увидите, что она создает файл с именем mydatabase.db. Это простая база данных, которую вы будете использовать в следующих примерах.

Установление соединения с базой данных с помощью SQL в VB.NET

Установить соединение с использованием SQLite в VB.NET очень просто. Продолжить редактирование Программа.vb файл и удалите существующее содержимое подпрограммы Main. Этот файл служит ядром проекта.

Вы можете определить соединение с файлом базы данных mydatabase.db с помощью этой строки кода:

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

Источник данных указывает имя файла базы данных. Если файл не существует, SQLite создаст новую базу данных при установке соединения.

Следующим шагом будет использование SQLiteConnection class для создания экземпляра соединения. Вы всегда должны использовать С использованием блокировать при работе с подключениями к базе данных, чтобы избежать потенциальных утечек или взаимоблокировок:

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

' Database operations go here
EndUsing

Блок «Использование» гарантирует автоматическое закрытие соединения после его завершения.

Окончательный файл Program.vb должен выглядеть примерно так:

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

Этот код подключится к базе данных mydatabase.db и выведет сообщение с подтверждением в случае успеха. Если произойдет ошибка, она выведет подробную информацию на консоль.

Как получить данные и загрузить их в массив

ВЫБИРАТЬSQL-команда это основной способ получения данных из базы данных SQL. Если у вас есть таблица с именем Пользователи в вашей базе данных, и вы хотите получить Имя поле из каждой записи в этой таблице, используйте SELECT следующим образом:

SELECT Name FROM Users

Вы можете извлечь данные из базы данных и загрузить их в массив, добавив этот запрос в файл 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

На консоли вы увидите список имен, соответствующий содержимому таблицы вашей базы данных:

Этот код загружает данные в Список структуру, имеющую динамический размер, перед ее преобразованием в массив по завершении. Этот подход очень полезен в ситуациях, когда вы заранее не знаете, сколько записей вы получите.

Как использовать INSERT для добавления данных в базу данных

Вы можете использовать ВСТАВИТЬ В Команда для добавления новых данных в базу данных. Например, рассмотрим Пользователи таблица с двумя столбцами с именами Имя и Страна.

Основной SQL-запрос, который вы можете использовать для добавления нового пользователя, будет следующим:

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

Чтобы добавить нового пользователя в базу данных с помощью этого запроса, обновите файл Program.vb следующим образом:

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

В этом простом примере для построения запроса используется интерполяция строк, но вам следует избегать этого в рабочем коде, поскольку это уязвим для SQL-инъекций. Альтернативой являются параметризованные запросы, которые делают операции с базой данных более безопасными и эффективными.

Параметризованные запросы используют заполнители вместо прямого объединения строк для добавления значений в запросы SQL. Такой подход поможет вам избежать многих угроз безопасности:

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

Любые другие советы по работе с базой данных изнутри VB.Net

Операции с базами данных в VB.NET поначалу могут показаться сложными, но, следуя нескольким рекомендациям, вы легко освоите основы.

  • Используйте параметризованные запросы для защиты от уязвимостей безопасности.
  • Всегда закрывайте соединение с базой данных после завершения получения или обновления данных.
  • Поддерживайте свою базу данных, чтобы оптимизировать ее структуру по мере изменения модели данных с течением времени.
  • Не забудьте сделать резервные копии на случай экстренных ситуаций.

Как и любая технология, базы данных развиваются. Программное обеспечение обновляется, появляются новые инструменты, и мы находим более эффективные способы решения задач. Это хорошая идея, чтобы оставаться в курсе и быть в курсе. Некоторые инструменты действуют как посредники, например Entity Framework, что упрощает написание кода, связанного с базой данных.

Как продолжить свое путешествие по VB.NET

VB.NET с его глубоко укоренившейся связью с экосистемой Microsoft одновременно надежен и удобен для пользователя. Чтобы по-настоящему понять его возможности, начните с официальной документации, предоставленной Microsoft. Изучите онлайн-курсы, форумы и сообщества, где опытные разработчики делятся своими знаниями и идеями.

Помните, каждый эксперт когда-то был новичком. Приложив последовательные усилия, любознательность и подходящие ресурсы, вы вскоре сможете уверенно и легко ориентироваться в VB.NET. По мере продвижения не стесняйтесь экспериментировать, задавать вопросы и, что самое важное, наслаждаться процессом открытий.