我正在編寫一個連接到MS Access數據庫(.accdb)的C#應用程序。應用程序將被幾個工作人員使用,並且他們每個人都會不時連接到數據庫 - 刷新他們的存在(刷新登錄時間)。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-must-use-an-updateable-query) – Fionnuala 2012-06-28 09:55:02