私はC#でMS Accessデータベース(.accdb)に接続するアプリケーションを作成しています。アプリケーションは複数のワーカーによって使用され、それぞれがdbに時々接続され、その存在をリフレッシュします(サインイン時間を更新します)。C#/ accdb:エラー "操作で更新可能なクエリを使用する必要があります。"
同じデータベースに接続する他のすべての機能は正常に動作しているようですが、この機能は動作しません。私は何らかの理由で以下のエラーが発生しており、問題は私のExecuteNonQuery()
の行にあると言います。コマンドテキストは、文字列myUpdateNonqueryで定義されています。
System.Data.OleDb.OleDbException (0x80004005): Operation must use an updateable query.
機能は:
public Boolean RefreshSignIn()
{
Boolean successful = false;
lock(dbLock)
{
try
{
string myConnectionString = connectionType + primarydbPath;
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
string myUpdateNonquery = "UPDATE AgentSignIn SET signInTime = NOW() WHERE agentName = @p1";
using(myConnection)
{
OleDbCommand myCommand = new OleDbCommand(myUpdateNonquery, myConnection);
using(myCommand)
{
myCommand.Parameters.Add("@p1", OleDbType.Char).Value = appSettings.mynick;
myConnection.Open();
int updatedRows = myCommand.ExecuteNonQuery();
if (updatedRows>0) {successful = true;}
}
}
}
catch(System.Exception ex)
{
MessageBox.Show("Error! Failed to keep you signed in to the database!\n\n"+ex.ToString());
}
}
return successful;
}
[エラー:操作は更新可能なクエリを使用する必要があります]の可能複製(http://stackoverflow.com/questions/ 2749674/error-operation-use-an-updateable-query) – Fionnuala