我正在尝试从数据库中获取一些结果,但是查询失败了!
String sqlFindModel = "SELECT * FROM [PRODUCT] WHERE [PN] LIKE ('*" + textBox1.Text + "*')";
当我修剪“WHERE [PN] LIKE ...”部分时,它工作正常。 当我将 LIKE 替换为“=”并查找精确值时,它起作用了。
我很困惑。
PS - 有趣的是,直接在 ACCESS 中查询时,必须使用 *;但是当使用 C# 连接到 MS Access 时,需要使用 %... interesting!
最佳答案
*
不用于 SQL LIKE 语句中的通配符 - %
是。
但是,您不应该只是更改您的代码以使用 %
- 您应该修复您的代码,使其不容易受到 SQL injection attacks 的攻击,反而。您应该改用参数化 SQL。有关示例,请参阅 OleDbCommand.Parameters
的文档。
关于c# - 查询不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946716/