0

我在 C# 中有一个 DataTable 变量,我想将它直接插入到 SQL 中的 ##TempTable 中。我不想像逐行插入##TempTable 一样。

我怎样才能做到这一点 ?

从 (C# DataTable) 中选择 Into ##TempTable ?

或者我以不同的方式问:我们如何在 C# 的查询中将数据集发送到 SQL?

注意:我正在使用 SqlClient 和 SqlHelper 类

4

1 回答 1

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
于 2019-03-01T15:28:21.337 回答