我有显示来自SQL数据库ASP NET SQL - 选择*从那里笔者
"select * from Log where Author=" + User.Identity.Name
这就是当前命令我试过等于结果的问题,但不能让它的工作。
,而这个工程:
"select * from Log where Author='markus'"
感谢您的帮助。
我有显示来自SQL数据库ASP NET SQL - 选择*从那里笔者
"select * from Log where Author=" + User.Identity.Name
这就是当前命令我试过等于结果的问题,但不能让它的工作。
,而这个工程:
"select * from Log where Author='markus'"
感谢您的帮助。
你可以用这样的单引号中的字符串:
"select * from Log where Author='" + User.Identity.Name + "'"
但是,这样做的标准方式是使用参数化语句:
"select * from Log where Author = @Author";
然后使用SqlParameter
将值应用于参数@Author
。
欲了解更多信息,请参见:
不要这样做。 @GurV:你应该在序言中回答“这是怎么做不到你想做的事”,或者将SQL注入的风险带到最前沿。当他们看到您的解决方案“如何轻松运作”时,寻求快速解答的人不会在追踪链接时烦恼。 – spender
您还可以使用的String.Format方法对于这种情况。 请尝试以下操作。
string query=string.Format("select * from Log where Author='{0}'",User.Identity.Name)
您需要在SQL语句中的值User.Identity.Name周围引号。 –
“select * from Log where Author ='”+ User.Identity.Name +“'” –
我不建议这样做,但试着将字符串包装成单引号:'“select * from Log where Author ='”+ User。 Identity.Name +“'”'。这样做的标准方法是使用准备好的语句。 – GurV