日期:2014-05-19  浏览次数:20561 次

请教关于ExecuteNonQuery的使用。
照书中一个关于留言簿的例题,上机实践运行,发现以下代码出错
private   void   btnsubmit_Click(object   sender,   System.EventArgs   e)
{
OleDbConnection   objconn       =   new   OleDbConnection();
objconn.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0; "+ "Data   Source= "+Server.MapPath( "message.mdb ");
objconn.Open();
string   objsql,username,title,content;

username   =   tbxusername.Text.Trim();
title   =   tbxmstitle.Text.Trim();
content   =   tbxmscontent.Text.Trim();
if   (title   !=   " "   ||username   !=   " "   ||   content   !=   " ")
{
objsql   =   "insert   into   Message(MUname,MsTitle,MsContent)values( ' "   +   username   +   " ', ' "   +   title   +   " ', ' "   +   content   +   " ') ";
OleDbCommand   objcmd   =   new   OleDbCommand(objsql,   objconn);
objcmd.ExecuteNonQuery();
objconn.Close();
message.Text   =   "发表留言成功 ";
}
else
{
message.Text   =   "请输入完整信息! ";
}
}
留言提交后,页面上显示“操作必须使用一个可更新的查询。   ”这样的提示信息,请问错在什么地方?


------解决方案--------------------
不是程序的问题,是你的数据库文件没有读写权限
------解决方案--------------------
一种情况是mdb文件只读
一种情况是文件在ntfs分区,那么要在属性--安全中指定读写权限