您知道如何解决此UPDATE问题吗?

时间:2019-04-08 16:20:09

标签: sql

此代码运行时,出现UPDATE写入错误。有人知道问题是什么以及如何解决?

这是代码:

string sql2 = "UPDATE ezuser";
sql2 += " SET fname = '" + Request.Form["fname"]+ "'";
sql2 += " , lname = '" + Request.Form["lname"] + "'";
sql2 += " , fav = '" + Request.Form["fav"] + "'";
sql2 += " , pw = '" + Request.Form["pw"] + "'";
sql2 += " , order = '" + Request.Form["order"] + "'";
sql2 += " WHERE email = '" + Request.Form["email"] + "'";

MyAdoHelper.DoQuery(fileName, sql2);

2 个答案:

答案 0 :(得分:0)

尽管问题并没有告诉我很多有关列的数据类型的信息,但我唯一可以怀疑的是order列,它可能是整数数据类型,并且您可能要向其传递字符串。

其他说明:您的代码看起来非常容易受到sql注入的攻击。也请看看。

答案 1 :(得分:0)

至少在SQL Server中,order是保留的关键字,如果从字面上用作列名,则需要正确引用。像这样:

sql2 += " , [order] = '" + Request.Form["order"] + "'";

正如sabhari所提到的,您需要学习有关SQL注入的知识以及如何适当地防止这种情况的发生。研究您正在使用的编程语言的参数化语句。