我有一个项目列表(包含整数ID)。我需要删除其列的数据与这些列表项匹配的表X的所有行。 我正在使用sqlite,这是我尝试过的方法
List<int> lstItem=new List<int>();
//add data to lstItem
//....
SqlComm.CommandText="delete from X where id in @lstItem";
答案 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();