2012-01-02 22 views
2

私はアイテムのリスト(整数idsを含む)を持っています。 id列のデータがこれらのリスト項目と一致するテーブルXのすべての行を削除する必要があります。 私はsqliteのを使用して、ここで私はDBに新しいです申し訳条件句を追加して、リストのアイテムに一致するテーブルの行を削除します。

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

を試してみましたが、どのようにしています。助けてくれてありがとう。そして新年あけましておめでとう!

+0

私はあなたがそれぞれのリスト要素のためのループでそれをしなければならないと思います。 – atoMerz

答えて

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(); 
関連する問題