“/”应用程序中的服务器错误。
________________________________________
操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 行 6210: End If
行 6211: Try
行 6212: Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery
行 6213: Return returnValue
行 6214: Finally源文件: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6858a490\5cad177d\App_Code.6ypgegwt.4.vb 行: 6212 堆栈跟踪: [OleDbException (0x80004005): 操作必须使用一个可更新的查询。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1003520
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
MyDataSetTableAdapters.ProjectInforTableAdapter.Insert(Nullable`1 ProjectID, String ProjectName, Int32 AreaCode, String CooperType, String ChineseSideName, String ForeSideName, String CountryCode, Decimal TotalInvestment, Decimal ForeignInvestment, String SignType, String IndustryCode, DateTime UpdateTime, Decimal ExpectInvestment, String ProjectInfo, String Organizer, String PersonInCharge, String Position, String depCode, String LeadersName, String LeaderPost) in C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6858a490\5cad177d\App_Code.6ypgegwt.4.vb:6212
Edit.btnSave_Click(Object sender, EventArgs e) in D:\approot\web\qydd.shandongbusiness.gov.cn\Edit.aspx.vb:314
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565________________________________________
版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3082
从我本地机器上没有问题 放到客户的服务器上就出现这样的问题了 苦恼啊
________________________________________
操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 行 6210: End If
行 6211: Try
行 6212: Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery
行 6213: Return returnValue
行 6214: Finally源文件: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6858a490\5cad177d\App_Code.6ypgegwt.4.vb 行: 6212 堆栈跟踪: [OleDbException (0x80004005): 操作必须使用一个可更新的查询。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1003520
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
MyDataSetTableAdapters.ProjectInforTableAdapter.Insert(Nullable`1 ProjectID, String ProjectName, Int32 AreaCode, String CooperType, String ChineseSideName, String ForeSideName, String CountryCode, Decimal TotalInvestment, Decimal ForeignInvestment, String SignType, String IndustryCode, DateTime UpdateTime, Decimal ExpectInvestment, String ProjectInfo, String Organizer, String PersonInCharge, String Position, String depCode, String LeadersName, String LeaderPost) in C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6858a490\5cad177d\App_Code.6ypgegwt.4.vb:6212
Edit.btnSave_Click(Object sender, EventArgs e) in D:\approot\web\qydd.shandongbusiness.gov.cn\Edit.aspx.vb:314
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565________________________________________
版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3082
从我本地机器上没有问题 放到客户的服务器上就出现这样的问题了 苦恼啊
解决方案 »
- [asp.net自动补全]自己做的一个最简单的自动补全,分享出来
- exe文档预览和在线阅读有什么区别啊,
- 在页循环绑定DropDownList后,再ItemCommand事件中获得绑定的DataValueField问题
- ASP.NET生成图片问题
- 出错了!大家帮帮忙呀!!急
- Global对每个客户端请求内容在同一事件中的执行顺序
- 怎样判断用户关闭了最后一个窗口
- 一个巨简单的问题?sqlserver数据库中,如何定义一个小数?
- 如何用ASP.NET做到,点击一个记录连接,可以转到他的详细页面
- 蛙蛙请教:做个在线报名系统,在实现持久数据存储的方面请教大家一下
- SiteMapPath控件的问题。
- 关于树型结构的效率讨论
但是数据库以及数据库所在的文件夹都设置everyone和aspnet完全控制了
比如 dbfile = Server.MapPath(".\1.mdb");
按理说数据库应该在 wwwroot 里面,不要放入system32里面。
<connectionStrings>
<add name="ProjectInforDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ProjectInforDB.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
数据库是从web.config中配置的 在网站的spp_data目录下
这是网上的解决方法:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个.ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误。