操作必须使用一个可更新的查询的解决方法.net网站使用access数据库打开提示“操作必须使用一个可更新的查询”
报错信息如下:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 |
[OleDbException (0x80004005): 操作必须使用一个可更新的查询。] System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1008480 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +255 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +188 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +161 System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +113 Uninf.AccessDAL.OledbHelper.ExecuteNonQuery(String connectionString, CommandType cmdType, String cmdText, OleDbParameter[] parameters) +169 Uninf.AccessDAL.OledbHelper.ExecuteNonQuery(CommandType cmdType, String cmdText, Boolean isAdd, OleDbParameter[] parameters) +115 Uninf.AccessDAL.NewsDAL.UpdateHits(Int32 pk_NewsID) +234 Uninf.BLL.NewsBLL.UpdateHits(Int32 pk_NewsID) +46 News_NewsDetail.Page_Load(Object sender, EventArgs e) +1213 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 Uninf.Page.BasePage.OnLoad(EventArgs e) +37 Uninf.Page.Page.PageBase.OnLoad(EventArgs e) +38 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 |
版本信息: Microsoft .NET Framework 版本:2.0.50727.3649; ASP.NET 版本:2.0.50727.3634
原因:出现这个问题是因为access数据库没有写入权限导致的。
操作必须使用一个可更新的查询的解决方法:给站点wwwroot目录network service修改写入权限即可!