首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从C# textbox.Text值在Server搜索中使用单引号实现LIKE%?

如何从C# textbox.Text值在Server搜索中使用单引号实现LIKE%?
EN

Stack Overflow用户
提问于 2014-07-10 18:30:09
回答 1查看 469关注 0票数 0

Server的SELECT语句在我的C#中具有当前WHERE子句:

代码语言:javascript
复制
strQuery4_main += " WHERE ([Description] LIKE ";
strQuery4_main += "'" + txtbox_ReportBy_start.Text + "%" + "'";
strQuery4_main += " ) ";

如果我输入关键字

性质

在我的txtbox_ReportBy_start文本框中,查询将搜索任何以“本质”开头的内容,这很好。

但如果我搜查凯奥拉

性质的路径

则会出现错误消息,即:

在“-”附近不正确的语法。字符串'AS‘后面的未闭合引号。

我知道我应该使用两个单引号来替换一个单引号,但是在textbox值中应该如何做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-10 18:33:22

在查询中使用参数。连在一起的查询也很容易使用SQL注入

代码语言:javascript
复制
strQuery4_main += " WHERE ([Description] LIKE @pDescription";

稍后使用命令对象执行以下操作:

代码语言:javascript
复制
yourCommandObject.Parameters.AddWithValue("@pDescription", 
                                           txtbox_ReportBy_start.Text +"%");

你可以看到:参数化SQL查询:查询数据库的正确方法

当前,由于输入中的单引号没有转义,所以您正在获取错误。您可以使用另一个单引号转义单引号。但是,您应该始终考虑在查询中使用参数。

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

https://stackoverflow.com/questions/24683817

复制
相关文章

相似问题

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