Не удалось обновить таблицу Access в определенной строке и столбце с помощью OleDB.

Я пытался обновить столбец ProductQty в определенной строке таблицы ProductDB, но после выполнения никаких изменений не произошло.

Например, при ID 1 в столбце ProductQty установлено значение 30. Я хотел изменить его на 29, но даже после выполнения таблица остается неизменной.

OleDbConnection connect =
            new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; 
                Data Source=POSDB.accdb; 
                Persist Security Info = False");
        connect.Open();
        string query = "UPDATE ProductDB SET [ProductQty] = @quandiff WHERE [ID] = @id";

        OleDbCommand command = new OleDbCommand(query, connect);
        command.Parameters.AddWithValue("@quandiff", quanDiff);
        command.Parameters.AddWithValue("@id", location);
        command.ExecuteNonQuery();

Я заранее протестировал переменные quanDiff и location через Console.Write, и данные были получены в порядке. Просто не мог заставить работать запрос по какой-либо причине.

Если я не сделал что-то не так здесь, если вы можете указать на это.


person benChung    schedule 15.11.2015    source источник
comment
Если другие запросы на соединение работают, проблема может быть AddWithValue. Попробуйте использовать явный тип.   -  person Gordon Linoff    schedule 15.11.2015
comment
Что вы подразумеваете под я хотел точно изменить его на 29? Вы имеете в виду добавить или что-то в этом роде? Вы хотите вставить quanDiff - location вместо них?   -  person Soner Gönül    schedule 15.11.2015
comment
Какое значение возвращается из ExecuteNonQuery? Это количество затронутых строк. Это ноль?   -  person Oguz Ozgul    schedule 15.11.2015
comment
Добавьте возвращаемое значение ExecuteNonQuery(): оно должно быть равно 0, если строка с идентификатором найдена и обновлена, и нулем, если нет. Если вы получаете 1, но не видите изменений, лучше выяснить, просматриваете ли вы ту же базу данных (в сеансах отладки в Visual Studio рабочим каталогом является BIN\DEBUG, а не папка проекта)   -  person Steve    schedule 15.11.2015