在 C# 中通过 SQLite 查询时,同时使用 like 与 %% 与@Param0 不起任何作用
Hi,
在 C# 中通过 SQLite 查询时,同时使用 like 与 %% 与@Param0 不起任何作用。
String sql1 = "select * from test where something like @Param0";
String sql2 = "select * from test where something like '%@Param0%'";
...
query.Parameters.Add(new SQLiteParameter("@Param0", "Hello"));
....
在上面SQL中,如果只使用 @Param0 的情况下,则 sql1 会查找到 Hello 的记录,
但是,如果我想同时查找 Hello123 的时候,通过 sql2 却无法实现,sql2 的查询结果为空。
请问,如果在使用 query.Parameters.Add 的方式下(即通过使用参数),使用 like 能够实现 '%Hello%' 的功能??
难道在使用 '%中间的值%' 的时候,不能使用 @Param?
请指点,谢谢。
------解决方案--------------------String sql2 = "select * from test where something like '%'+@Param0+'%'";
------解决方案--------------------象你那样写sql2,结果是变量的值没有被替换,结果就是:
select * from test where something like '%@Param0%'
而这个:
select * from test where something like '%'+@Param0+'%'
结果是:
select * from test where something like '%hello%'