当前位置: 代码迷 >> ASP.NET >> Update set where 语句有异常,提醒字符串格式不正确
  详细解决方案

Update set where 语句有异常,提醒字符串格式不正确

热度:2886   发布时间:2013-02-25 00:00:00.0
Update set where 语句有错误,提醒字符串格式不正确
C# code
 string id = Request.QueryString["MessageID"];            if (id != "")            {                [color=#FF0000]string StrSql = "update tb_Message set UserName='" + Session["UserName"].ToString() + "',HF_Content='" + this.FCKeditor1.Value + "',HF_IP='" + Request.UserHostAddress.ToString() + "',HF_Time='" + DateTime.Now.ToString() + "' where MessageID=" + int.Parse(Page.Request["MessageID"].ToString()) ;[/color]                               dbObj.ExecNonQuery(StrSql);                Response.Write("<script>alert('回复成功!')</script>");                Response.Redirect("MessageBoard.aspx");            }            else            {                Response.Redirect("MessageBoard.aspx");            }

在if语句之前设了断点,执行if条件时是跳到了string StrSql ,是否代表if条件不为空,那为什么执行出来,显示string StrSql 取到的数据为空呢?

------解决方案--------------------------------------------------------
你调试StrSql 看看是什么?正不正确?也许后面的 Session["UserName"].ToString()为空?或者this.FCKeditor1.Value格式不对?
------解决方案--------------------------------------------------------
如果是StrSql为null检查:this.FCKeditor1.Value 是不是空;

如果是查询结果为空,将StrSql查出来的语句放进查询分析器中去执行
------解决方案--------------------------------------------------------
string id = Request.QueryString["MessageID"];
if (id != "")
{
string StrSql = "update tb_Message set UserName='" + Session["UserName"].ToString() + "',HF_Content='" + this.FCKeditor1.Value + "',HF_IP='" + Request.UserHostAddress.ToString() + "',HF_Time='" + DateTime.Now.ToString() + "' where MessageID=" + int.Parse(Page.Request["MessageID"].ToString()) ;
//这里输出SQL看看是什么
Response.Write(StrSql);
//dbObj.ExecNonQuery(StrSql);
//Response.Write("<script>alert('回复成功!')</script>");
//Response.Redirect("MessageBoard.aspx");
}
else
{
Response.Redirect("MessageBoard.aspx");
}

------解决方案--------------------------------------------------------
探讨

引用:
引用:

引用:
string id = Request.QueryString["MessageID"];
if (id != "")
{
string StrSql = "update tb_Message set UserName='" + Session["UserName"].ToString() + "',HF_……

------解决方案--------------------------------------------------------
string StrSql = "update tb_Message set [UserName]='" + Session["UserName"].ToString() + "' where MessageID=" + int.Parse(Page.Request["MessageID"].ToString().Trim()) ;
这样不就可以看字段UserName格式正不正确?当然你要保证Page.Request["MessageID"].ToString().Trim()这个是字符串类型数字
------解决方案--------------------------------------------------------
实在不行,将这些参数先一个个赋给变量,再使用变量。。调试的时候看看每个变量有什么异常没
  相关解决方案