Выберите 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
Другие вопросы по тегам