Выберите Into ##TempTable из C# DataTable
У меня есть переменная DataTable в C#, и я хочу вставить его в ## TempTable в SQL напрямую. Я не хочу делать как вставить в ## TempTable строка за строкой.
Как я могу это сделать?
Выберите Into ## TempTable из (C# DataTable)?
Или я спрашиваю по-другому: как мы можем отправить набор данных в SQL в запросе из C#?
Примечание: я использую классы SqlClient и SqlHelper
0 ответов
На всякий случай, если у кого-то есть такое же требование. Любые комментарии приветствуются. Код в 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