在
ASP.NET 2.0
中提供了一个新的类
SqlBulkCopy
类,它在性能上的优势更超过了上面的方法,它可以通过让
DataSet
或是
DataReader
中大量的数据通过数据流直接进行装载,然后可以将这些记录添加到指定的数据表中。
SqlBulkCopy
类只有在
SQL Server
的表中写入数据,但在使用其它的数据库时,可以通过数据源来使用,
SqlBulkCopy
类主要包括一个实例方法
WriteToServer
,它用来把数据从一个数据源传输到另外一个数据源。
WriteToServer
的方法可以快速的写入
DataRow[]
数组数据,
DataTable
和
DataReader
。在实际开发的过程中,可以视情况而定,选择我们所喜欢的方法,我们看它使用的方法:
WriteToServer(DataTable)
写入数据表
WriteToServer(DataRow[])
批次写入数据行
WriteToServer(DataTable,DataRowState)
按行状态写入数据库表
WriteToServer(DataReader)
写入
DataReader
对象
在多数情况下,我们选择最好的方法是
DataReader
对象,因为
DataReader
是一个读取只向前和只读流的方式,所以它要比
DataTable
和
DataRows[]
更快,我们现在来看看下面的代码,它用来把数据从一张表中传输到另一张表中。
string strConnection = ConfigurationManager.AppSettings[
"conStr"].ToString();
//读取Web.config文件中的数据库连接字符串
SqlConnection sourceconnection = new SqlConnection(strConnection); //数据的连接方式是SQL Server
SqlConnection sourceconnection = new SqlConnection(strConnection); //数据的连接方式是SQL Server

















本文转自 BruceAndLee 51CTO博客,原文链接:http://blog.51cto.com/leelei/176503,如需转载请自行联系原作者