Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将列从一个数据集复制到另一个数据集?_C#_Asp.net_Sql - Fatal编程技术网

C# 如何将列从一个数据集复制到另一个数据集?

C# 如何将列从一个数据集复制到另一个数据集?,c#,asp.net,sql,C#,Asp.net,Sql,这是一个相当有用的函数,需要花点时间才能弄清楚如何使用它,而不会遇到关于已经属于数据集的列的错误。因为我看到了很多关于这样做的问题,所以我想分享我想出的方法 这是一个功能化版本,它只获取源和收件人数据集,依次添加源中的每一列和值: protected DataSet AddColumns(DataSet ds, DataSet dt) { foreach (DataColumn dc in dt.Tables[0].Columns) { ds.Tables[0].Columns.

这是一个相当有用的函数,需要花点时间才能弄清楚如何使用它,而不会遇到关于已经属于数据集的列的错误。因为我看到了很多关于这样做的问题,所以我想分享我想出的方法

这是一个功能化版本,它只获取源和收件人数据集,依次添加源中的每一列和值:

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;
}
受保护的数据集AddColumns(数据集ds、数据集dt)
{
foreach(dt.Tables[0]中的数据列dc.列)
{
表[0].Columns.Add(dc.ColumnName,dc.DataType);
对于(int i=0;i

希望这能对某些人有所帮助——花了几个小时的时间研究了一些不太管用的局部方法,然后将其组合成一些漂亮的模块化方法。:)

您需要复制列的值,而不是列本身。其语法是什么?出现错误的行应该只是在接收表中创建列,而不是复制数据。这也不能解释为什么在使用Print_Data函数时,它会顺利通过前几行。