2

以下のコードは、毎回 0 の値を返しています。データテーブルをフィルタリングして行数を取得しようとしています。この例を説明するために、表 2 の ID 列で検索される値 250 として条件を設定しています。

どうすれば修正できますか?

var count = (from row in MyDatabaseDataSet.Tables["Table2"].AsEnumerable() where string.Equals(row["ID"].ToString(), 250)) select row).Count();
MessageBox.Show(Convert.ToString(count));
4

3 に答える 3

3

それを試してください:

var count = (from row in MyDatabaseDataSet.Tables["Table2"].AsEnumerable()
             where row.Field<int>("ID") == 250
             select row).Count();
于 2013-04-02T12:18:32.747 に答える
0

メソッド構文の場合:

int rowCount = MyDatabaseDataSet.Tables["Table2"].AsEnumerable()
    .Count(r => r.Field<int>("ID") == 250);
于 2013-04-02T12:20:04.510 に答える
0

OK emmmmmmm うーん、これは...厄介です...コードを呼び出す前に、データセットに 2 番目のテーブルを入力するのを完全に忘れていました。これが私が忘れていたものです:

// TODO: This line of code loads data into the 'showsDatabaseDataSet.AllEpisodes' table. You can move, or remove it, as needed.
            this.MyTableAdapter.Fill(this.MyDatabaseDataSet.Table2);

それは今働いています!

于 2013-04-02T19:05:31.607 に答える