如何从数据集中检索特定列?

How to retrieve specific column from the dataset?

这是查询数据库的行。

string sql = "SELECT col1, col2, col3, col4, col5"
           + "FROM MyTable"
           + "WHERE condition";

DataSet standardResults = SqlHelper.ExecuteDataset(
    m_ConnectionString,
    CommandType.Text,
    sql);

对于每一列,我想 select col1col5

我试图将鼠标悬停在数据集对象上或向下钻取内容,但我无法弄清楚我需要的数据位于何处。

感谢您的帮助。

根据您发布的代码,我可以假设 SqlHelper.ExecuteDataset returns 和 DataSetDataSet 包含 DataTables 的集合,您可以使用索引来获取它们。在您的情况下,只有一个 DataTable,因为您有一个查询的结果。因此 standardResults.DataTables[0] 将与您的数据所在的 DataTable 相关联。话虽这么说,我认为您可以使用 LINQ 公平地查询 DataTable 并获得您想要的。像这样:

var results = standardResults.DataTables[0]
                             .AsEnumerable()
                             .Select(item=>new 
                             {
                                Col1 = x.Field<string>("col1"),
                                Col5 = x.Field<string>("col5")    
                             });

但是,我必须指出,我没有看到 selecting 额外列 col2col3col4 的原因。如果您不需要它们,为什么它们在 select 语句中?