Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobierz strukturę tabeli UDT w VB.NET

Private Function DataTableForServerType(ByVal Connection As SqlConnection, ByVal ServerTypeName As String) As DataTable

    Dim SanitisedQualifiedTypeName As String

    Using cmd = New SqlCommand()
        cmd.Connection = Connection
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "select top (1) quotename(schema_name([schema_id]), '[') + N'.' + quotename([name], '[') from [sys].[types] where [name] = parsename(@type_name,1) and [schema_id] = isnull(schema_id(parsename(@type_name,2)), [schema_id]) and [is_table_type] = 1;"
        cmd.Parameters.Add("@type_name", SqlDbType.NVarChar, 128).Value = ServerTypeName

        SanitisedQualifiedTypeName = CType(cmd.ExecuteScalar(), String)

        If String.IsNullOrEmpty(SanitisedQualifiedTypeName) Then
            Throw New Exception(String.Format("Table type '{0}' does not exist or you don't have permission.", ServerTypeName))
        End If
    End Using


    Using ada = New SqlDataAdapter("declare @t " & SanitisedQualifiedTypeName & "; select * from @t;", Connection)
        Dim res As New DataTable

        ada.Fill(res)

        Return res
    End Using

End Function



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można rzutować obiektu COM typu „System.__ComObject” na typ interfejsu „Microsoft.VisualStudio.OLE.Interop.IServiceProvider”

  2. Najszybszy sposób na identyfikację najczęściej używanych odmian procedur składowanych w SQL Server 2005

  3. Usuń wiadomości e-mail bazy danych z bazy danych msdb w programie SQL Server (T-SQL)

  4. Pojawia się dziwny błąd, zapytanie SQL Server przy użyciu klauzuli `WITH`

  5. Jak połączyć się z bazą danych SQL Server 2008 za pomocą JDBC?