这是一个相当有用的功能,它需要一些杂耍才能弄清楚如何使用而不会遇到关于已经属于数据集的列的错误。由于我看到很多关于这样做的问题,所以我想分享我想出的方法。
这是一个功能化版本,它只采用源数据集和接收者数据集,依次添加源中的每一列和值:
protected DataSet AddColumns(DataSet ds, DataSet dt)
{
foreach (DataColumn dc in dt.Tables[0].Columns)
{
ds.Tables[0].Columns.Add(dc.ColumnName, dc.DataType);
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
ds.Tables[0].Rows[0][dc.ColumnName] = dt.Tables[0].Rows[0][dc.ColumnName];
}
return ds;
}
希望这会对某人有所帮助——花了几个小时研究部分方法,这些方法并不能很好地将其组合成一些好的和模块化的东西。:)