zoukankan      html  css  js  c++  java
  • DataTable类Clone及Copy方法的区别

    初学者可能不清楚DataTable类的Clone及Copy方法的区别,查msdn,可得到如下结论:

    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);
                }
            }
        }

  • 相关阅读:
    如何自己手写一个热加载(转)
    阻塞I/O、非阻塞I/O和I/O多路复用、怎样理解阻塞非阻塞与同步异步的区别?
    Java NIO浅析 转至 美团技术团队
    mysql在线修改表结构大数据表的风险与解决办法归纳(转)
    MySQL性能优化
    Tomcat Connector(BIO, NIO, APR)三种运行模式(转)
    redis 单线程的理解
    Spring 中的bean 是线程安全的吗?
    Spring 自定义注解,结合AOP,配置简单日志注解 (转)
    redis 分布式锁
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2940147.html
Copyright © 2011-2022 走看看