从 C# 数据表中选择“进入 ##TempTable”

本文关键字:进入 ##TempTable 选择 数据表 | 更新日期: 2023-09-27 18:30:52

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

我该怎么做?

从(C# 数据表)中选择进入 ##TempTable ?

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

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

从 C# 数据表中选择“进入 ##TempTable”

以防

万一有人有同样的要求。欢迎任何评论。在 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