DataTable类Clone及Copy方法的区别
2015-09-24 16:35
375 查看
初学者可能不清楚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);
}
}
}
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);
}
}
}
相关文章推荐
- arm64 linux 学习笔记二
- 从零自学Hadoop(01):认识Hadoop
- 在linux的weblogic上增加启动参数
- AIX, Linux下将脚本放到后台执行——加nohup与不加nohup的区别
- linux应用编程笔记(3)addr.c分析linux应用程序地址布局
- activity启动模式之singleTop
- ArcGIS API for JavaScript 3.13本地部署(TomCat或IIS)
- Linux下升级内核到3.18以上后编译VMware的问题
- openstack多region的实现
- VMware 10设备CentOs 6.5
- linux 的硬链接与软连接
- win平台使用secureCRT通过ssh免密码登陆linux
- 【集训队作业】MONOPLOY
- How to access local directory with script executed in oozie?
- unix/linux编程实践教程———open和fdopen的区别
- IDropTarget 封装 让窗口支持拖放(文件,文本,URL...)
- 为什么Nginx的性能要比Apache高很多?
- Linux C pipe函数 man 翻译
- 在linux下安装图形界面
- OpenCV库的使用