如何在 C# 中将 DataSet 转换为 DataTable

How do I convert a DataSet to a DataTable in C#

这是我的代码 -- 我只需要将 SQL 数据集转换为 asp.net 4.5 中的数据表。我似乎无法弄清楚。有很多帖子做相反的事情,但是 none 我可以找到明确的答案。

public static DataTable getGender()
{
    DataTable DT = default(DataTable);        
    SqlConnection con = new SqlConnection(CnnString.ConnectionString.ToString());
    SqlCommand cmd = new SqlCommand("ns_gender_get", con);
    cmd.CommandType = CommandType.StoredProcedure;


    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataSet ds = new DataSet();

    try
    {
        //Fill the Dataset
        da.Fill(ds, "Results");
        DT = ds.Tables(0);     

       //**GOAL:  I need to assign the DS.Table(0) to the DT (dataTable) so when this method is called it will return the table rows in the DT. 

    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        con.Close();
        con.Dispose();
        con = null;
    }
    return DT;
}

实际上,DataSet contains a collection of DataTables。你可以只取第一个 table:

DataTable dataTable = ds.Tables[0];

另一方面,如果需要,您可以使用 DataAdpter 填充 DataTable,例如:

DataTable dt = new DataTable();
da.Fill(dt);

查看更多内容:

https://msdn.microsoft.com/library/system.data.dataset.tables(v=vs.110).aspx

http://www.dotnetperls.com/sqldataadapter

-- 由问题的原作者编辑(供其他人查看) 简单的解决方案终于打动了我——

 ds.Tables.Add(DT); // Code on how to add a table to a dataset!

Here is a great way to speed up your code!!