将数据从DataTable插入数据库表

时间:2011-08-12 14:56:11

标签: c# sql-server sql-server-2008 ado.net datatable

将数据从DataTable插入SQL Server数据库表的最简单,最有效的方法是什么?对于它的价值,DataTable和数据库表具有匹配的列。

我正在做的是将数据从一个数据库传输到另一个数据库(单独的实例,因此我将使用我的应用程序作为数据的中间“接收器/发送器”)。我可以使用源数据库表中的SqlDataAdapater.Fill()调用轻松填充DataTable。但我正在尝试找到将DataTable数据发送到最终目标数据库表的最熟练方法。

非常感谢任何建议/意见/建议。

编辑:目标数据库表已存在。

1 个答案:

答案 0 :(得分:6)

您应该查看SqlBulkCopy class,尤其是overload of the WriteToServer method that takes a DataTable as a parameter

如果您希望更多更高效,并且您没有要求将整个表格实现为DataSet(或者,您可以在移动时处理内容它们以正向方式运行),然后使用overload of WriteToServer that takes an IDataReader ExecuteReader method on the SqlCommand class运行您的查询,而不是使用SqlDataAdapter将整个表格加载到内存中。