[转载]c# sqlite中的like 模糊查询参数 – 随记 – 博客频道 – CSDN.NET.
在操作SQL 与 ACCESS数据库,使用LIKE传递参数进行模糊查询时,可以使用这样的写法:
SQL:
string SQL = “Select Count(ID) As rcount From tbArticle WHERE classID IN(” + ids + “) AND Title LIKE ‘%’+@Title+’%'”;
参数直接这样传递:
SqlParameter[] sps = new SqlParameter[1];
sps[0] = SQLDB.CreateParameter(“@Title”, SqlDbType.VarChar, title, 50, ParameterDirection.Input);
其中title是一个变量。
在上边两个数据库中,这样做是可以查询出内容的,不过在SQLITE中却不可以,经多次尝试,发现换种方式也可以实现这样的模糊参数传递
SQL:
string sql = “Select Count(ID) As rcount From tbArticle WHERE classID IN(” + ids + “) AND Title LIKE @Title “;
参数:
SQLiteParameter[] sps = new SQLiteParameter[1];
sps[0] = SQLite.CreateParameter(“@Title”, DbType.String, “%” + title + “%”, 50, ParameterDirection.Input);
就是在变量里直接模拟成 ‘%test%’ ,把这个传递进去,就可以查出结果了
注意:SQLite的语法和SQL Server的like不一样,不用再%号前加 ‘ 号