【发布时间】:2017-04-01 20:39:30
【问题描述】:
我在显示来自 SQL 数据库的相同结果时遇到问题
"select * from Log where Author=" + User.Identity.Name
这是我尝试过的当前命令,但无法正常工作。
虽然这有效:
"select * from Log where Author='markus'"
感谢您的帮助。
【问题讨论】:
-
您需要在 SQL 语句中的值 User.Identity.Name 周围加上引号。
-
"select * from Log where Author='" + User.Identity.Name + "'"
-
我不建议这样做,但尝试将字符串包装成单引号:
"select * from Log where Author='" + User.Identity.Name + "'"。这样做的标准方法是使用准备好的语句。 -
哦,当然,谢谢@SloanThrasher
-
@LukeRemming 你听说过 SQL 注入,对吧?你不想成为那个让它发生的无用的编码器。这就是您使用这样的代码所允许的。除非您 100% 确定这些字符串的来源,否则切勿将字符串粘合在一起形成 sql 语句。您可以使用parameterized queries 轻松编写安全代码。如果你不这样做,你就是个傻瓜。真的。
标签: c# mysql sql asp.net vb.net