我在 C# 中有一个 DataTable 变量,我想将它直接插入到 SQL 中的 ##TempTable 中。我不想像逐行插入##TempTable 一样。
我怎样才能做到这一点 ?
从 (C# DataTable) 中选择 Into ##TempTable ?
或者我以不同的方式问:我们如何在 C# 的查询中将数据集发送到 SQL?
注意:我正在使用 SqlClient 和 SqlHelper 类
我在 C# 中有一个 DataTable 变量,我想将它直接插入到 SQL 中的 ##TempTable 中。我不想像逐行插入##TempTable 一样。
我怎样才能做到这一点 ?
从 (C# DataTable) 中选择 Into ##TempTable ?
或者我以不同的方式问:我们如何在 C# 的查询中将数据集发送到 SQL?
注意:我正在使用 SqlClient 和 SqlHelper 类
以防万一有人有同样的要求。欢迎任何评论。VB中的代码。
Private Sub Connect(srcDT As DataTable, spParameter As String)
Dim conString As String = GetConnectionString()
Dim oSqlConnection As SqlConnection = New SqlConnection(conString)
Try
Dim oSqlCommand = New SqlCommand("Create Table #STG1 (
[Username] [nvarchar](100) NULL,
[FirstName] [nvarchar](100) NULL,
[LastName] [nvarchar](100) NULL,
[Active] [bit] NULL,
[Department] [nvarchar](100) NULL
)", oSqlConnection) With {
.CommandType = CommandType.Text,
.CommandTimeout = 0
}
oSqlConnection.Open()
oSqlCommand.ExecuteNonQuery()
Dim oSqlBulkCopy As SqlBulkCopy = New SqlBulkCopy(oSqlConnection) With {
.DestinationTableName = "#STG1"
}
oSqlBulkCopy.WriteToServer(srcDT)
Dim command As New SqlCommand("spName", oSqlConnection) With {
.CommandType = CommandType.StoredProcedure
}
command.Parameters.AddWithValue("@inParam", spParameter)
command.ExecuteScalar()
Finally
oSqlConnection.Close()
oSqlConnection.Dispose()
End Try
End Sub