在一个Click事件中写了一个简单的插入记录功能,主要代码如下:
...
private void send_Click(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../access/css.mdb"));
try
{
conn.Open();
OleDbCommand comm=new OleDbCommand();
comm.Connection=conn;
comm.CommandText="INSERT INTO guest (name,message) VALUES ('abc','cba')";
comm.ExecuteNonQuery(); //这行为行65
}
catch(Exception error)
{
this.Response.Write(error.ToString());
}
finally
{
conn.Close();
}
}编译通过,异常提示:System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at WuJian.GuestBook.SendMessage.send_Click(Object sender, EventArgs e) in h:\web\wujian\guestbook\sendmessage.aspx.cs:line 65我觉得奇怪的是同样的代码在家里的机器上能正常执行,而在公司的机器上就出这样的错误,郁闷。
...
private void send_Click(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../access/css.mdb"));
try
{
conn.Open();
OleDbCommand comm=new OleDbCommand();
comm.Connection=conn;
comm.CommandText="INSERT INTO guest (name,message) VALUES ('abc','cba')";
comm.ExecuteNonQuery(); //这行为行65
}
catch(Exception error)
{
this.Response.Write(error.ToString());
}
finally
{
conn.Close();
}
}编译通过,异常提示:System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at WuJian.GuestBook.SendMessage.send_Click(Object sender, EventArgs e) in h:\web\wujian\guestbook\sendmessage.aspx.cs:line 65我觉得奇怪的是同样的代码在家里的机器上能正常执行,而在公司的机器上就出这样的错误,郁闷。
权限不足,所以你的数据库是只读的