2015-12-28 94 views
-1

我有一個變量fav,它將包含用逗號分隔的值,例如「a,b,c」。在Table1我有一個名爲Name的列,在不同行中的值爲「a」「b」「c」。我想爲下面的查詢返回a,b和c,但它當前不返回並且不會崩潰。謝謝你的幫助。Sqlite WHERE LIKE語句c#

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

需要拆分逗號分隔字符串,然後使用IN子句與表值參數... –

回答

0

你需要使用「IN」,而不是「喜歡」

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); 
    } 
+1

字符串值需要引用。或使用參數。 –