更新 2: これを解決しました。私の回答を参照してください。
OleDb を使用して C# から Microsoft Access データベースでクエリを呼び出していますが、更新クエリを実行できません。
エラーはスローされませんが、更新はデータベースに保持されません。
誰でもこれに光を当てることができますか?
データベースの 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# を実行してテーブルを更新するときにアクセスが閉じられるようにすることで、可能性を絞り込もうとしました。
アップデートはまだ実行されていません。構文の問題だと思いますが (パーミッションの問題でもあるのでしょうか?)、エラー メッセージがなければデバッグはかなり困難です!