我的代码:
//提交数据
OleDbConnection lcon_connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/therp.mdb") + "'");
OleDbCommand lcom_command = new OleDbCommand("Insert Into [Message Board] (author,email,phone,title,detail) values ('" + TextBoxAuthor.Text + "','" + TextBoxEmail.Text + "','" + TextBoxPhone.Text + "','" + TextBoxTitle.Text + "','" + TextBoxDetail.Text +"')", lcon_connect);
lcon_connect.Open();
lcom_command.ExecuteNonQuery();
lcon_connect.Close();
//重新连接到留言板页面
Response.Redirect("Message Board.aspx");调试的时候可以,发布到IIS就不行了报的错误如下:“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[OleDbException (0x80004005): 操作必须使用一个可更新的查询。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +108
MessageExamine.ButtonSubmit_Click(Object sender, EventArgs e) +765
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
//提交数据
OleDbConnection lcon_connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/therp.mdb") + "'");
OleDbCommand lcom_command = new OleDbCommand("Insert Into [Message Board] (author,email,phone,title,detail) values ('" + TextBoxAuthor.Text + "','" + TextBoxEmail.Text + "','" + TextBoxPhone.Text + "','" + TextBoxTitle.Text + "','" + TextBoxDetail.Text +"')", lcon_connect);
lcon_connect.Open();
lcom_command.ExecuteNonQuery();
lcon_connect.Close();
//重新连接到留言板页面
Response.Redirect("Message Board.aspx");调试的时候可以,发布到IIS就不行了报的错误如下:“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[OleDbException (0x80004005): 操作必须使用一个可更新的查询。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +108
MessageExamine.ButtonSubmit_Click(Object sender, EventArgs e) +765
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
你的数据库文件没有写权限啊 不是在只读那里打勾的。老大右键 属性 安全 然后给asp.net 的那2个用户给写权限或者给everyone写权限是IIS匿名帐户对文件没有写权限 不是文件没有写权限
谢谢 你windstore(雪海飘香(梦想升星))