根据条件获取DataSet.Tables行的计数

时间:2013-04-02 12:15:54

标签: c# datatable

以下代码每次都返回0值。我正在尝试过滤数据表并获取行数。为了说明此处的示例,我将条件设置为要在Table2中的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));

3 个答案:

答案 0 :(得分:3)

尝试一下:

var count = (from row in MyDatabaseDataSet.Tables["Table2"].AsEnumerable()
             where row.Field<int>("ID") == 250
             select row).Count();

答案 1 :(得分:0)

使用方法语法:

int rowCount = MyDatabaseDataSet.Tables["Table2"].AsEnumerable()
    .Count(r => r.Field<int>("ID") == 250);

答案 2 :(得分:0)

好吧嗯嗯这很......笨拙......我绝对忘记在调用代码之前用第二个表填充数据集。这就是我忘记的:

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

现在感谢工作人员了!