首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >怎么做?参数和LIKE语句SQL

怎么做?参数和LIKE语句SQL
EN

Stack Overflow用户
提问于 2008-10-30 18:42:06
回答 5查看 134.7K关注 0票数 80

我正在编写一个搜索函数,并且已经想出了使用参数来防止或至少限制SQL注入攻击的查询。然而,当我在我的程序中运行它时,它没有返回任何东西:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')

参数可以像这样使用吗?或者它们只在实例中有效,例如:

SELECT * FROM compliance_corner WHERE body LIKE '%<string>%' (其中<string>是搜索对象)。

编辑:我正在用VB.NET构建这个函数,这对你们贡献的语法有影响吗?

另外,我在SQL Server中运行了以下语句:SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')`,它返回结果。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-10-30 18:54:18

您的visual basic代码将如下所示:

代码语言:javascript
复制
Dim cmd as New SqlCommand("SELECT * FROM compliance_corner WHERE (body LIKE '%' + @query + '%') OR (title LIKE '%' + @query + '%')")

cmd.Parameters.Add("@query", searchString)
票数 79
EN

Stack Overflow用户

发布于 2008-10-30 19:15:33

好吧,我会这么说:

代码语言:javascript
复制
 Dim cmd as New SqlCommand(
 "SELECT * FROM compliance_corner"_
  + " WHERE (body LIKE @query )"_ 
  + " OR (title LIKE @query)")

 cmd.Parameters.Add("@query", "%" +searchString +"%")
票数 115
EN

Stack Overflow用户

发布于 2008-10-30 18:46:20

你需要做的是:

LIKE '%' + @param + '%'

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/251276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档