添加条件子句以删除与列表项匹配的表的行

时间:2012-01-02 19:08:54

标签: c# sql system.data.sqlite

我有一个项目列表(包含整数ID)。我需要删除其列的数据与这些列表项匹配的表X的所有行。 我正在使用sqlite,这是我尝试过的方法

List<int> lstItem=new List<int>();
//add data to lstItem
//....
SqlComm.CommandText="delete from X where id in @lstItem";

1 个答案:

答案 0 :(得分:0)

您需要遍历这些项目:

var sbSql = new System.Text.StringBuilder(500);

sbSql.Append("delete from X where id in (");

if (lstItem.Count != 0) {
  foreach (int value in lstItem)
  {
     if (sbSql.Length != 0) 
     {
        sbSql.Append(",");
     }
     sbSql.Append(value);
  }

} else {
   sbSql.Append(-1);
}

sbSql.Append(")");

SqlComm.CommandText = sbSql.ToString();