添加一个条件子句来删除与列表项匹配的表'5行

本文关键字:5行 列表 一个 条件 删除 子句 添加 | 更新日期: 2023-09-27 18:19:10

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

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

添加一个条件子句来删除与列表项匹配的表'5行

您需要循环遍历条目:

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();