【发布时间】:2010-12-04 17:23:37
【问题描述】:
我在 VB.NET 中有一个 SQLClient.DataSet,我想将整个内容插入到 SQL Server 表中,而无需执行以下操作:
For Each dr as Datarow in MyDataset
Dim sc As New SqlCommand("INSERT INTO MyNewTable " & _
"VALUES (@column1, @column2)", MyDBConnection)
sc.Parameters.AddWithValue("@column1", dr.Item(0))
sc.Parameters.AddWithValue("@column2", dr.Item(1))
sc.ExecuteNonQuery()
Next
由于我已经接近一百万行(都很瘦,所以空间不大),我显然不想运行这个循环并生成一百万个 INSERT 语句。
我知道一个选项是在我最初获取数据时使用链接服务器,因为它来自另一个 SQL Server,然后将其从那里插入到 INSERT。但是,如果我的应用程序中已经有数据,是否有更有效的方法来批量插入它?我可以以某种方式将 DataTable 作为参数传递给 SQL Server 并让它对其进行排序并插入行吗?
【问题讨论】:
标签: sql sql-server vb.net tsql datatable