我有一个变量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 + "%" + "'");
}
答案 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);
}