Я использую Microsoft Access, к сожалению, из-за больших сил и безуспешно пытаюсь обновить запись.
Это код:
private void UpdateContact(Contact contact)
{
using (OleDbConnection db = new OleDbConnection(_connString))
{
string query = "UPDATE [Contact] SET [FirstName] = @FirstName, [LastName] = @LastName, [MobileNumber] = @MobileNumber WHERE [Id] = @Id";
OleDbCommand cmd = new OleDbCommand(query, db) { CommandType = CommandType.Text };
cmd.Parameters.AddWithValue("@Id", contact.Id);
cmd.Parameters.AddWithValue("@FirstName", contact.FirstName);
cmd.Parameters.AddWithValue("@LastName", contact.LastName);
cmd.Parameters.AddWithValue("@MobileNumber", contact.MobileNumber);
db.Open();
int rowsAffected = cmd.ExecuteNonQuery();
db.Close();
}
}
Кажется, все в порядке, без исключения, но и без строк. Всегда возвращает 0.
Я проверил значения во время отладки и правильность, которая должна сохраняться.
Файл доступа создан с помощью MS Access 2007, но его тип - 2002-2003.
Есть идеи, что я делаю не так?