如何从数据集中检索特定列?
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 col1 和 col5。
我试图将鼠标悬停在数据集对象上或向下钻取内容,但我无法弄清楚我需要的数据位于何处。
感谢您的帮助。
根据您发布的代码,我可以假设 SqlHelper.ExecuteDataset
returns 和 DataSet
。 DataSet
包含 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 额外列 col2
、col3
和 col4
的原因。如果您不需要它们,为什么它们在 select 语句中?
这是查询数据库的行。
string sql = "SELECT col1, col2, col3, col4, col5"
+ "FROM MyTable"
+ "WHERE condition";
DataSet standardResults = SqlHelper.ExecuteDataset(
m_ConnectionString,
CommandType.Text,
sql);
对于每一列,我想 select col1 和 col5。
我试图将鼠标悬停在数据集对象上或向下钻取内容,但我无法弄清楚我需要的数据位于何处。
感谢您的帮助。
根据您发布的代码,我可以假设 SqlHelper.ExecuteDataset
returns 和 DataSet
。 DataSet
包含 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 额外列 col2
、col3
和 col4
的原因。如果您不需要它们,为什么它们在 select 语句中?