大家帮忙看看下面代码,注意注释的部分,我用的是两种更新方法,如果用注释部分的方法,程序也执行了,没有报错误,但是为什么就是更新不了access数据库呢?而用不注释的方法就可以呢?晕哦!!
int id = Convert.ToInt32(Request.QueryString["id"]);
string connstr = ConfigurationSettings.AppSettings["connection"] + Server.MapPath(ConfigurationSettings.AppSettings["data"]);
OleDbConnection cn = new OleDbConnection(connstr);
cn.Open();
//string sql = "update msgboard set Reply=@Reply,ReplyState=@ReplyState,ReplyDate=@ReplyDate where MsgBoardID=@MsgBoardID";
string sql = "update msgboard set Reply='" + tbReplyContent.Text.ToString().Trim() + "'," +
"ReplyState=1,ReplyDate='" + System.DateTime.Now.ToString() + "' where MsgBoardID=" + id;
OleDbCommand cmd = new OleDbCommand(sql, cn);
//cmd.Parameters.Add(new OleDbParameter("@Reply", OleDbType.VarChar));
//cmd.Parameters.Add(new OleDbParameter("@ReplyState", OleDbType.Integer));
//cmd.Parameters.Add(new OleDbParameter("@MsgBoardID", OleDbType.Integer));
//cmd.Parameters.Add(new OleDbParameter("@ReplyDate", OleDbType.Date));
//cmd.Parameters["@Reply"].Value = tbReplyContent.Text.ToString().Trim();
//cmd.Parameters["@ReplyState"].Value = 1;
//cmd.Parameters["@MsgBoardID"].Value = id;
//cmd.Parameters["@ReplyDate"].Value = System.DateTime.Now;
try
{
cmd.ExecuteNonQuery();
Response.Write("<script>alert('回复成功')</script>");
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
cn.Close();
int id = Convert.ToInt32(Request.QueryString["id"]);
string connstr = ConfigurationSettings.AppSettings["connection"] + Server.MapPath(ConfigurationSettings.AppSettings["data"]);
OleDbConnection cn = new OleDbConnection(connstr);
cn.Open();
//string sql = "update msgboard set Reply=@Reply,ReplyState=@ReplyState,ReplyDate=@ReplyDate where MsgBoardID=@MsgBoardID";
string sql = "update msgboard set Reply='" + tbReplyContent.Text.ToString().Trim() + "'," +
"ReplyState=1,ReplyDate='" + System.DateTime.Now.ToString() + "' where MsgBoardID=" + id;
OleDbCommand cmd = new OleDbCommand(sql, cn);
//cmd.Parameters.Add(new OleDbParameter("@Reply", OleDbType.VarChar));
//cmd.Parameters.Add(new OleDbParameter("@ReplyState", OleDbType.Integer));
//cmd.Parameters.Add(new OleDbParameter("@MsgBoardID", OleDbType.Integer));
//cmd.Parameters.Add(new OleDbParameter("@ReplyDate", OleDbType.Date));
//cmd.Parameters["@Reply"].Value = tbReplyContent.Text.ToString().Trim();
//cmd.Parameters["@ReplyState"].Value = 1;
//cmd.Parameters["@MsgBoardID"].Value = id;
//cmd.Parameters["@ReplyDate"].Value = System.DateTime.Now;
try
{
cmd.ExecuteNonQuery();
Response.Write("<script>alert('回复成功')</script>");
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
cn.Close();
解决方案 »
- 百分求解:总是出现“DataBinding:“System.Data.DataRowView”不包含名为“id”的属性”的错误
- Cache的機制
- asp.net 读取数组类型的SEESION值
- 在asp.net中,为什么我的图片链接显示不出来?
- socket.receive时怎么不返回呀?
- 怎么这么简单的问题也不帮帮新手啊?
- 如何实现一个窗体的关闭?
- 编辑datagrid控件的内容,更新时怎么得到一行中各文本框中的值?
- 妈的,这个比.net2005
- 如何验证textbox所输入的只能是正整数的正则表达式?
- DataGrid编辑状态下如何改变TextBox的属性
- ##--如何制作视频播放。就是点一下可以用MMP或RM播放 又不被下载--##
要用?
string sql = "update msgboard set Reply=?,ReplyState=?,ReplyDate=? where MsgBoardID=?";**********************************
*本人主要使用VB+MS SQL,C#略知一二
*
*如有相关问题需要帮助
*
*可发短消息告知链接
*
*助人为快乐之本!
**********************************