При сохранении данных в БД возникает ошибка:
Существует назначенный этой команде Command открытый DataReader, который требуется предварительно закрыть
Удаление работает отлично, все удаляется, но при новом добавлении данных возникает ошибка. В коде отметил строку где возникает ошибка. В чем причина и как её исправить?
public bool UpdateSettings(Guid settingsId, List<UsersModel> usersModel)
{
using (var connection = new SqlConnection(_connectionString))
{
connection.Open();
try
{
using (var command = connection.CreateCommand())
{
command.CommandText = "DELETE FROM UsersSettings WHERE SettingsId = @SettingsId";
command.Parameters.AddWithValue("@SettingsId", settingsId);
command.ExecuteReader();
}
foreach (var userModel in usersModel)
{
using (var command = connection.CreateCommand())
{
command.CommandText = @"INSERT UsersSettings(SettingsId, SettingsValue, IsEnabled)
VALUES (@SettingsId, @SettingsValue, 1)";
command.Parameters.AddWithValue("@SettingsId", settingsId);
command.Parameters.AddWithValue("@SettingsValue", userModel.SettingsValue);
command.ExecuteReader(); // Ошибка возникает в данной строке
}
}
return true;
}
catch (Exception exception)
{
_log.LogError("Не удалось сохранить настройки.", exception);
return false;
}
}
}
Reader, который возвращает ExecuteReader, нужно вручную закрывать. Если не используете результат запроса, вызывайте ExecuteNonQuery.
Использую WinFormsМне нужно выводить много информации в RichTextBox, но со временем он наполняется большим кол-вом информации и, как следствие, обновление...
Я пытаюсь использовать ConsoleBackgroundColor для изменения заднего фона консоли на некий цвет (предположим, синий - Console
вот такая вот регулярка долго ломал голову почему ничего не находит, хотя в тексте всё в точности, стал перепроверять посимвольно и не находит,...