Я пытаюсь использовать следующий скрипт для обновления значений в базе данных MS Access.C# MS Access oledbcommand.executeNonQuery UPDATE без ошибок, без изменений
Я проверил, что сгенерированный запрос действителен и работает, если я ввожу его в MS Access.
Также я проверил, что oledbcommand.executeNonQuery() возвращает правильное количество строк, которые необходимо изменить.
И, наконец, я не получаю ошибок, насколько мне известно.
Однако, когда я проверяю базу данных после запуска кода, изменений нет. Кто-нибудь знает, почему это может быть?
У меня есть другие функции, которые извлекают данные из базы данных, которые отлично работают с помощью команды oledb. Однако я не могу заставить его изменить базу данных.
Пожалуйста, не помните, что я знаю, что этот скрипт не защищает от инъекций, но это выходит за рамки этого вопроса. Я просто пытаюсь узнать, как обновить базу данных.
void IDatabase.UpdateRecordValue(string table, string updateColumn, string updateValue, string lookUpColumn, string lookUpValue)
{
connection.Open();
OleDbCommand cmdUpdate = new OleDbCommand();
string sqlQuery = "UPDATE [" + table + "] " +
"SET [" + table + "].[" + updateColumn + "] = '" + updateValue + "' " +
"WHERE [" + table + "].[" + lookUpColumn + "] = '" + lookUpValue + "';";
cmdUpdate.CommandText = sqlQuery;
cmdUpdate.CommandType = CommandType.Text;
cmdUpdate.Connection = connection;
cmdUpdate.ExecuteNonQuery();
connection.Close();
}
EDIT: моя строка соединения выглядит следующим образом, нет никакого пароля в базе данных: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};"
EDIT Вот конкретный пример запроса, который я пробую использовать
UPDATE [Rooms]
SET [Rooms].[Main Space Category] = '5'
WHERE [Rooms].[Number] = '100';
Настройки вашего проекта с использованием ожидаемого файла db? http://stackoverflow.com/a/13014788/77335 – HansUp
Да, Ive также подтвердил, что другие функции, которые извлекают данные из базы данных, вытаскивают правильные данные. Он просто перестает работать, когда я пытаюсь обновить базу данных. – MichaelTaylor3D
Является ли проблема ограничена этим «ОБНОВЛЕНИЕ»? Можете ли вы изменить любые данные ('INSERT',' DELETE') в этом db-файле из C#? – HansUp