【问题标题】:Update Set - Syntax error (missing operator) in query expression更新集 - 查询表达式中的语法错误(缺少运算符)
【发布时间】:2017-03-24 11:34:39
【问题描述】:

我收到此错误:

查询表达式“10”中的语法错误(缺少运算符)

我的代码:

      string MySQL3 = "Update RegisterDatabase Set ";
      MySQL3 += "uName ='" + Request.Form["uname"]  + "', pName ='" + Request.Form["pname"] + "', idNumber ='" + Request.Form["id"] + "', age =" + Request.Form["age"] + "', pass ='" + Request.Form["pass"] + "', email ='" + Request.Form["email"] + "'";
      MySQL3 += " Where uName ='" + Session["uname"];
      System.Data.OleDb.OleDbCommand o_command3 = new System.Data.OleDb.OleDbCommand(MySQL3, o_con);
      o_con.Open();
      o_command3.ExecuteNonQuery();
      o_con.Close();

顺便说一句,我知道我的代码容易受到 SQL 注入攻击,但这是针对我的学校项目,所以这并不重要。

【问题讨论】:

  • “这是我的学校项目,所以没关系”。请务必在面试工作时提及这一点。
  • 是的,你是对的,但我认为他们不希望我使用参数化查询,因为我的老师没有教我参数化查询。
  • @Taabki 。 . .这很可悲。这应该只是您教数据库接口的方式。没有理由先教“弦乐演奏”。

标签: mysql sql asp.net


【解决方案1】:

问题来了

age =" + Request.Form["age"] + "+ "'

应该是

 age =" + Request.Form["age"] + ", pass =

MySQL3 += " Where uName ='" + Session["uname"];

应该是

MySQL3 += " Where uName ='" + Session["uname"] +"'";

【讨论】:

  • 谢谢!没看到那个逗号
【解决方案2】:
 String MySQL3 = "Update RegisterDatabase Set ";
          MySQL3 += "uName ='" + Request.Form["uname"]  + "', pName ='" + Request.Form["pname"] + "', idNumber ='" + Request.Form["id"] + "', age ='" + Request.Form["age"] + "', pass ='" + Request.Form["pass"] + "', email ='" + Request.Form["email"] + "'";
          MySQL3 += " Where uName ='" + Session["uname"];

试试上面的代码。 希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 2018-09-02
    • 2018-01-29
    • 2012-11-14
    相关资源
    最近更新 更多