C# SQLite 使用 LIKE 参数化选择
我正在尝试执行 SQL 查询,例如
SELECT * FROM [TABLE] WHERE hostname LIKE '%myhostname%';
This 在普通 SQL 中运行良好,但是当我在 C# 中使用 System.Data.SQLite 时,它仅适用于文字,而不是参数,例如
string sel = "SELECT * FROM [TABLE] WHERE hostname LIKE '%@host%'";
...
command.Parameters.AddWithValue("@host", "myhostname");
This 不返回任何结果。
I am trying to do an SQL query such as
SELECT * FROM [TABLE] WHERE hostname LIKE '%myhostname%';
This works fine in plain SQL, but when I use System.Data.SQLite in C#, it only works with a literal, not a parameter, such as
string sel = "SELECT * FROM [TABLE] WHERE hostname LIKE '%@host%'";
...
command.Parameters.AddWithValue("@host", "myhostname");
This returns no results.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能那样做。参数必须是完整的值 - 它不仅仅是 SQL 中的字符串替换。你可以这样做:
You can't do that. The parameters must be complete values - it's not just a string substitution into the SQL. You could do this instead:
最简单的方法是使用“||”
使用:
代替:
我已经在此处回答
Easiest way to do this is to use '||'
Use :
Instead Of:
I have already answered here