Запрос выполняется с 0 затронутыми строками, но при попытке запуска напрямую с использованием базы данных он работает.C#

Место общения программистов C#
Ответить
Anonymous
 Запрос выполняется с 0 затронутыми строками, но при попытке запуска напрямую с использованием базы данных он работает.

Сообщение Anonymous »

У меня есть следующая структура базы данных Microsoft Access:
Изображение


Я пытаюсь создать в книге классов функцию C#: Return(), которая используется для возврата книги от клиента, который ее заимствовал. Это делается путем установки даты возврата в таблице заимствования (устанавливается на время вызова функции).

Вот функция:

Код: Выделить всё

 public bool Return()
{
if (IsFree())
return false;
const string SQL = "UPDATE Borrow SET Return_date = @Date WHERE Book_ID = @Id AND Return_date IS NULL";
conn.Open();
using (OleDbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = SQL;
cmd.Parameters.AddRange(new OleDbParameter[]
{
new OleDbParameter("@Id", Id),
new OleDbParameter("@Date", DateTime.Now)
});
conn.Close();
}
return true;
}
Когда я запускаю его, я не получаю ошибок, но в базе данных ничего не меняется, и попытка получить количество затронутых строк возвращает 0.

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

Когда я пытаюсь выполнить запрос в Microsoft Access, он работает нормально.

Что я сделал не так?

Подробнее здесь: https://stackoverflow.com/questions/599 ... y-using-th
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»