Pregunta

soy nuevo en TVP en SQL Server y tratando de entender los conceptos básicos. Creé una muestra de TVP en la base de datos Northwind en SQL Express. Mi código de VB.NET es bastante simple (ver más abajo). El parámetro TVP está vacía en el procedimiento. He probado la TVP en SQL Server y trabaja muy bien. ¿Algunas ideas? ¿El SQL Express es totalmente compatible con los parámetros de valor de la tabla?

    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
¿Fue útil?

Solución

Problema resuelto. Era un problema con mi puesta a punto en casa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top