【问题标题】:How to get Dataset with specific Value in ASP.net?如何在 ASP.net 中获取具有特定值的数据集?
【发布时间】:2014-02-26 21:09:16
【问题描述】:

我有一个包含一些列的数据集。有一个名为 Is_Deleted 的列具有布尔值。

我正在使用来自 SQL Server 的 WCF 服务中的 ado.net 代码检索完整的数据集。

现在我想要数据集中所有具有 Is_Deleted 列值 = false 的行。 最初,我在存储过程本身得到了想要的结果。我在哪里选择 Is_deleted = false 的列。

我希望在 C# 中完成相同的操作。 所以请告诉我我该如何继续。

【问题讨论】:

  • SqlDataAdapter dAdapter = new SqlDataAdapter(m_command); dAdapter.Fill(dsPwd);这是代码
  • 如果您想在 WCF 中将 DataSet 作为响应发回,那么我建议您不要这样做。它将公开您的元数据以及您的数据方案。相反,请使用自定义类。

标签: c# wcf ado.net dataset sqldataadapter


【解决方案1】:

如果要过滤DataSet/DataTable,可以使用Linq-To-DataSet

var nonDeletedRows = ds.Tables[0].AsEnumerable()
    .Where(row => !row.Field<bool>("Is_Deleted"));

如果您需要保留此查询,您可以通过CopyToDataTable 创建一个新的DataTable

DataTable tableWithNonDeletedRows = nonDeletedRows.CopyToDataTable();

如果DataSet 是强类型,您可以直接使用自动生成的列。

例如(假设表名是“TableName”):

tableWithNonDeletedRows = ds.TableName.Where(r=> !r.Is_Deleted).CopyToDataTable();

【讨论】:

    猜你喜欢
    • 2019-05-20
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2020-09-13
    • 2022-10-26
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多