【发布时间】:2017-02-07 11:51:33
【问题描述】:
我找不到我的问题的答案,所以我不得不提出新问题。即我想问你如何使用 LIKE +value from textbox+ 和 % - 通配符(缺少字母),但用于两个或多个字段。当我将以下代码用于一个字段时,它正在工作(我可以在我的数据库中搜索所有从“A”开始的名字):
"SELECT * FROM customer WHERE FirstName LIKE '"+TextBox1.Text + '%'+ "'";
但是当我尝试将它用于两个字段时,它不起作用,(a我无法在我的数据库中搜索,例如任何以“R”开头的名字或姓氏。我没有得到任何错误。什么也没发生):
"SELECT * FROM customer WHERE FirstName LIKE '"+TextBox1.Text + '%'+ "' OR LastName LIKE '" +TextBox2.Text + '%'+"'";
提前感谢您的任何建议。
【问题讨论】:
-
请不要将用户输入直接插入到您的查询中,而是使用参数化查询。您的代码对SQL Injection开放!
-
生成的 SQL 是什么?
-
定义它不起作用。
-
什么是“什么都没有发生”?它冻结了吗?或者你得到一个空的结果集?您是否尝试在 SQL Management Studio 或任何其他数据库界面中运行查询以检查它是否有效?也许你的输入数据已经不正确(或者你已经用 sql 注入欺骗了自己)。
-
@RenéVogt,你说的很对,我会改的,不过只是为了我的测试。