0

私はSQLServerのTVPを初めて使用し、基本を理解しようとしています。SQLExpressのNorthwindデータベースにサンプルTVPを作成しました。VB.NETからの私のコードはかなり単純です(以下を参照)。プロシージャのTVPパラメータは空です。SQL ServerでTVPをテストしましたが、正常に動作します。何か案は?SQL Expressはテーブル値パラメータを完全にサポートしていますか?

    Dim dt As DataTable = New DataTable()
    dt.Columns.Add("RegionID", GetType(Int64))
    dt.Columns.Add("RegionDesc", GetType(String))
    dt.Rows.Add(21, "FromProgram2")
    dt.Rows.Add(22, "FromProgram3")

    Try
        If dt.Rows.Count > 0 Then
            Dim mycommand As SqlCommand = New SqlCommand
            Dim myconn As SqlConnection = New SqlConnection(connstring)
            mycommand.CommandText = "dbo.TestType"
            mycommand.Connection = myconn
            Dim param1 As SqlParameter = mycommand.Parameters.AddWithValue("@RegionData", dt)
            param1.SqlDbType = SqlDbType.Structured
            param1.TypeName = "dbo.RegionType"
            mycommand.Connection.Open()
            mycommand.ExecuteNonQuery()
            mycommand.Connection.Close()
            Console.WriteLine("")
            Console.ReadLine()
        Else
            Console.Write("No data in datatable")
            Console.ReadLine()
        End If

    Catch ex As Exception
        Console.WriteLine(ex.Message)
        Console.ReadLine()
    End Try
4

1 に答える 1

0

問題が解決しました。それは私の家でのセットアップの問題でした。

于 2010-10-25T16:38:17.410 に答える