C# 如何仅获取数据集的一列?

C# 如何仅获取数据集的一列?,c#,dataset,C#,Dataset,我在数据集中存储了应用程序的信息。数据集的表0(由dataset.Tables[0]访问)有一个名为“Station ID”的列。我需要得到一个数据集,其中只有这个列 如何获取并使用所有站点ID填充新数据集?您需要使用包含您的列的数据表创建一个新的数据集,并复制行: DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add(oldDt.Columns["St

我在数据集中存储了应用程序的信息。数据集的表0(由dataset.Tables[0]访问)有一个名为“Station ID”的列。我需要得到一个数据集,其中只有这个列


如何获取并使用所有站点ID填充新数据集?

您需要使用包含您的列的
数据表创建一个新的
数据集
,并复制行:

        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        dt.Columns.Add(oldDt.Columns["StationID"]);

        for (int i = 0; i < oldDt.Rows.Count; i++)
        {
            dt.Rows[i]["StationID"] = oldDt.Rows[i]["StationID"];
        }
        ds.Tables.Add(dt);

您需要创建一个新的
数据集
,其中包含列并复制行的
数据表

        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        dt.Columns.Add(oldDt.Columns["StationID"]);

        for (int i = 0; i < oldDt.Rows.Count; i++)
        {
            dt.Rows[i]["StationID"] = oldDt.Rows[i]["StationID"];
        }
        ds.Tables.Add(dt);
试试这个

public DataSet DataSetStationId(DataSet yourDataSet) 
    {
        DataSet newDs = new DataSet();

        DataTable newDt = new DataTable();

        newDt.Columns.Add(new DataColumn("Station Id"));

        for (int i = 0; i < yourDataSet.Tables[0].Rows.Count; i++) 
        {
            newDt.Rows[i]["Station Id"] = yourDataSet.Tables[0].Rows[i]["Station Id"];
        }

        newDs.Tables.Add(newDt);

        return newDs;

    }
公共数据集DataSetStationId(数据集yourDataSet) { 数据集newDs=新数据集(); DataTable newDt=新DataTable(); newDt.Columns.Add(新数据列(“站点Id”)); 对于(int i=0;i
试试这个

public DataSet DataSetStationId(DataSet yourDataSet) 
    {
        DataSet newDs = new DataSet();

        DataTable newDt = new DataTable();

        newDt.Columns.Add(new DataColumn("Station Id"));

        for (int i = 0; i < yourDataSet.Tables[0].Rows.Count; i++) 
        {
            newDt.Rows[i]["Station Id"] = yourDataSet.Tables[0].Rows[i]["Station Id"];
        }

        newDs.Tables.Add(newDt);

        return newDs;

    }
公共数据集DataSetStationId(数据集yourDataSet) { 数据集newDs=新数据集(); DataTable newDt=新DataTable(); newDt.Columns.Add(新数据列(“站点Id”)); 对于(int i=0;i
如果只需要一个值,并且知道行号:

 DataSet ds = new DataSet();
 DataTable dt = new DataTable()
 int StationID = Convert.ToInt32(ds.dt.[RowID][StationID])

如果只需要一个值,并且知道行号:

 DataSet ds = new DataSet();
 DataTable dt = new DataTable()
 int StationID = Convert.ToInt32(ds.dt.[RowID][StationID])

可能有一种方便的linq方法,但除此之外,您只需创建第二个数据集,在其中放入一个包含该列的datatable,然后逐行复制它。@BlargleMonster-这就是我的想法。谢谢可能有一种方便的linq方法,但除此之外,您只需创建第二个数据集,在其中放入一个包含该列的datatable,然后逐行复制它。@BlargleMonster-这就是我的想法。谢谢