欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DataTable类Clone方法与Copy方法的区别分析

程序员文章站 2024-03-03 16:37:10
datatable.clone 方法:克隆 datatable 的结构,包括所有 datatable 架构和约束。 datatable.copy 方法:复制该 data...

datatable.clone 方法:克隆 datatable 的结构,包括所有 datatable 架构和约束。

datatable.copy 方法:复制该 datatable 的结构和数据。

我们可以编写如下的程序,进行验证:

复制代码 代码如下:

        static string connstr = "server=.\\sqlexpress;initial catalog=hr;integrated security=true";

        static void clone()
        {
            using (sqlconnection conn = new sqlconnection(connstr))
            {
                string sql = "select * from emp";
                sqldataadapter da = new sqldataadapter(sql, conn);
                datatable dt = new datatable();
                da.fill(dt);
                datatable dtclone = dt.clone();
                print(dtclone);
            }
        }

        private static void print(datatable dtclone)
        {
            foreach (datacolumn col in dtclone.columns)
            {
                console.write(col.datatype+"\t");
            }
            console.writeline();
            foreach (datarow row in dtclone.rows)
            {
                console.write(row[0] + "\t" + row[1] + "\t" + row[2] + "\n");
            }
            console.writeline();
        }
        static void main(string[] args)
        {
            clone();//仅仅复制表结构
            copy();//复制表结构及数据
            console.readkey();
        }

        private static void copy()
        {
            using (sqlconnection conn = new sqlconnection(connstr))
            {
                string sql = "select * from emp";
                sqldataadapter da = new sqldataadapter(sql, conn);
                datatable dt = new datatable();
                da.fill(dt);
                datatable dtcopy = dt.copy();
                print(dtcopy);
            }
        }
    }