如何在 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!
这是我的代码 -- 我只需要将 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!