Sqlite WHERE LIKE语句c#

时间:2015-12-28 02:47:51

标签: c# sqlite

我有一个变量fav,其中包含用逗号分隔的值,例如" a,b,c"。在Table1我有一个名为Name的列,值为" a" " B" " C"在不同的行。我想让下面的查询返回a,b和c然而它当前没有返回任何内容并且没有崩溃。谢谢你的帮助。

public IEnumerable<Table1> Method1()
{
    return conn.Query<Table1>("SELECT * FROM [Table1] WHERE [Name] LIKE '" + "%" + fav + "%" + "'");
} 

1 个答案:

答案 0 :(得分:0)

你需要使用'IN'而不是'LIKE'

public IEnumerable<Table1> Method1()
    {
        string StrSql = "Select * From [Table1] Where [Name] in (";
        List<string> par = fav.Split(',').ToList();
        foreach (string _par in par)
        {
            StrSql += "'" + _par + "'";
            if (_par != par.Last())
            {
                StrSql += ',';
            }
            else
            {
                StrSql += ")";
            }
        }
        return conn.Query<Table1>(StrSql);
    }