惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
罗磊的独立博客
T
Tailwind CSS Blog
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - Franky
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs

博客园 - Daniel Pang

pcanywhere失去连接的一个解决方法 JS格式化日期字符串 - Daniel Pang - 博客园 [软件共享]将数据库中的数据导出为SQL脚本 对文件下载的补充 - Daniel Pang - 博客园 IBatisNet + Castle 开发相关文章 [IBatisNet]关于返回DataTable的一点问题 深圳电话订票基本步骤及所有的取票点地址电话 Automatic Transaction Management Facility 使用 - Daniel Pang IBatisnet Facility 的几种配置 - Daniel Pang IBatisNet -- 保护你的配置文件及映射文件信息 Rational Rose 加载出错的问题 修改Sql server中列的属性脚本 字符串加密方法 ERP术语 英文对照(部分)(参考) 一个关于SQL2005的问题 动态加载TreeNode -- ComponentArt TreeView - Daniel Pang 使用IBatisNet + Castle 开发DotNet软件 JS--屏蔽浏览器右键菜单 Excel的导出操作 - Daniel Pang - 博客园
复制DataTable的一种方法
Daniel Pang · 2007-03-07 · via 博客园 - Daniel Pang

      如果将程序返回的DataTable加入到自己定义的一个DataSet中,直接用ds.Tables.Add(dt)的方法,就会出现“该DataTable已属于另外一个DataSet”的错误。这时候我们需要建一个新的DataTable,并将原来的DataTable的结构及数据导入到新的DataTable中,这时候就可以使用下面的方法(当然方法并不是唯一的):

/// <summary>
        
/// 复制DataTable
        
/// </summary>
        
/// <param name="copyDt">数据源</param>
        
/// <param name="tableName">新DataTable名称</param>
        
/// <returns>复制后的DataTable</returns>

        private DataTable CopyDataTable(DataTable copyDt, string tableName)
        
{
            DataTable dt 
= new DataTable(tableName);
            
foreach (DataColumn columm in copyDt.Columns)
            
{
                dt.Columns.Add(columm.ColumnName,columm.DataType);
            }


            
foreach (DataRow row in copyDt.Rows)
            
{
                dt.BeginInit();
                dt.ImportRow(row);
                dt.EndInit();
            }


            
return dt;
        }