Similar presentations:
3.6.КТ-6 Обновление данных при помощи запросов
1.
Обновление данных при помощи запросовADO.NET (Entity Framework Core)/ASP.NET Core
2.
Обновление данных при помощи запросовПри создании API в ADO.NET для ASP.NET, обновление данных с помощью
запросов является ключевой частью взаимодействия с базой данных. Это
позволяет вашему API изменять данные в базе данных в ответ на запросы
клиента.
Далее будут представлены основные шаги и рекомендации по реализации
этого процесса.
3.
Подключение к Базе ДанныхПервый шаг - установить подключение к вашей базе данных. Это обычно
делается с помощью строки подключения в файле конфигурации вашего
приложения.
string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
4.
Создание API МетодаСоздайте метод в вашем контроллере API, который будет обрабатывать запрос на обновление
данных.
Например, обновление информации о пользователе:
[HttpPut]
public IHttpActionResult UpdateUser(int id, User user)
{
// Реализация метода
}
5.
Обновление данныхusing (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "UPDATE Users SET Name = @Name, Email = @Email WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.Parameters.AddWithValue("@Name", user.Name);
command.Parameters.AddWithValue("@Email", user.Email);
connection.Open();
int result = command.ExecuteNonQuery();
// Проверка успешности операции
if (result < 1) return BadRequest("Обновление не удалось.");
}
}
return Ok("Данные пользователя обновлены.");
6.
Почему это важно1. Целостность данных: Обновление данных через API гарантирует, что все
изменения будут выполнены согласно бизнес-логике и правилам валидации,
установленным в вашем API.
1. Безопасность: Вы можете внедрить проверки безопасности и авторизации, чтобы
убедиться, что только авторизованные пользователи могут обновлять данные.
1. Масштабируемость и поддержка: Централизованный подход к обновлению данных
через API облегчает управление, обновление и масштабирование вашего
приложения.
7.
Лучшие практики● Проверка и валидация: Перед обновлением данных убедитесь, что
входные данные прошли необходимую валидацию.
● Управление исключениями: Реализуйте обработку исключений для
обработки ошибок, связанных с базой данных.
● Логирование: Логируйте важные операции и ошибки для последующего
анализа и отладки.
● Транзакции: Если обновление включает несколько шагов, используйте
транзакции для обеспечения целостности данных.
8.
Пример: Обновление данных пользователяДопустим, у нас есть таблица Users с полями Id, Name, и Email. Ниже
приведен пример метода в API контроллере для обновления имени и
электронной почты пользователя.
CREATE TABLE Users (
Id INT PRIMARY KEY,
Name NVARCHAR(100),
Email NVARCHAR(100)
);
9.
Пример: Обновление данных пользователяМетод API
для
обновления
данных
[HttpPut]
public IHttpActionResult UpdateUser(int id, string name, string email)
{
string connectionString =
ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "UPDATE Users SET Name = @Name, Email = @Email WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.Parameters.AddWithValue("@Name", name);
command.Parameters.AddWithValue("@Email", email);
connection.Open();
int result = command.ExecuteNonQuery();
if (result < 1)
{
return BadRequest("Обновление не удалось.");
}
}
}
return Ok("Данные пользователя обновлены.");
}
10.
ЗаданияЗадание 1: Обновление нескольких полей
Измените приведенный выше пример, добавив в таблицу Users новое поле Age (возраст). Расширьте API метод, чтобы он также обновлял
возраст пользователя.
Задание 2: Условное обновление
Создайте API метод, который обновляет электронную почту пользователя, только если текущее имя пользователя совпадает с
предоставленным. Для этого вам потребуется добавить условие WHERE в SQL запрос.
Задание 3: Транзакции
Модифицируйте один из методов так, чтобы он использовал SQL транзакции. Это полезно, если ваши обновления включают несколько
шагов, и вы хотите гарантировать, что либо все шаги выполняются успешно, либо ни один из них.
Задание 4: Обработка исключений
Добавьте в метод обработку исключений для отлова ошибок, связанных с подключением к базе данных или выполнением SQL запроса.
Убедитесь, что в случае ошибки возвращается соответствующий ответ API.
Задание 5: Логирование
Реализуйте простую систему логирования, которая записывает информацию о каждом запросе на обновление данных, включая время
запроса и результат (успешно или нет).