0

問題は、フィールドとして ID と親 ID を含むデータ行配列があることです。

次のコードを使用しましたが、正しい値が返されました。

datarow [] dt = datarow.select("  Parent = '0' ");

親として '0' を持たない行のみを選択したいのですが、SQL で選択関数がどのように機能するかわかりません。

4

2 に答える 2

5

LINQ を使用してみてください - 使用する例を次に示します。

  DataTable dt = new DataTable("Example");
  dt.Columns.Add("ID", typeof(int));
  dt.Columns.Add("ParentID", typeof(int));
  dt.Rows.Add(1, 0);
  dt.Rows.Add(1, 1);

  var equal0 = dt.Rows.Cast<DataRow>().Where(x => x.Field<int>("ParentID") == 0);
  var notEqual0 = dt.Rows.Cast<DataRow>().Where(x => x.Field<int>("ParentID") != 0);

0 に等しい親 ID と 0 に等しくないリストを持つデータ行のリストを取得します。

編集:

Select - Where は代替手段であり、やりたいことを実行しようとしているようです。これは bool 条件に基づいてフィルタリングするため、ParentID が x よりも大きいか小さいかなどを指定できます。

これが役に立つことを願っています。

于 2012-08-30T11:56:12.270 に答える
1

これを試して ::

DataRow[] dt = dt.Select("Parent != '0'");
dt[0][Your Column Name] = your value;
于 2012-08-30T11:51:03.780 に答える