Обновление 2: я решил это, см. Мой ответ.
Я вызываю запросы в базе данных Microsoft Access из C # с помощью OleDb, но не могу заставить работать мои запросы на обновление.
Ошибка не выдается, но обновления не сохраняются в базе данных.
Может кто-нибудь пролить свет на это?
SQL-запрос в базе данных:
UPDATE tableName SET tableName.LastPolledDtg = LastPolledDtg
WHERE tableName.key = ID;
C #:
OleDbCommand command = new OleDbCommand();
SetCommandType(command, CommandType.StoredProcedure, "NameOfQueryInAccessDatabase");
AddParamToSQLCmd(command, "@ID", OleDbType.Integer, 4, ParameterDirection.Input, id);
AddParamToSQLCmd(command, "@LastPolledDtg", OleDbType.Date, 4, ParameterDirection.Input, DateTime.Now);
using (OleDbConnection connection = new OleDbConnection("connectionString"))
{
command.Connection = connection;
connection.Open();
result = command.ExecuteNonQuery();
}
Строка подключения:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\Administrator\\Desktop\\dev\\src\\Website\\App_Data\\tracking.mdb"
Обновление 1:
Я пытался сузить возможности, создав новую базу данных, содержащую одну таблицу и один запрос, и убедившись, что доступ закрыт, когда я запускаю C # для обновления таблицы.
Обновление по-прежнему не выполняется. Я подозреваю, что это проблема синтаксиса (также может быть проблема с разрешениями?), Но без каких-либо сообщений об ошибках довольно сложно отладить!