Il blog di Emanuele Mattei in ambito Database

Programmazione database, ado.net e database mobile

Blog

Siti

Siti Sql Server

Siti vari

Tools

Ado.Net: Rilevare il valore della proprietà estesa Description di un campo di una tabella

Introduzione:

In questo articolo vedremo come rilevare il valore della description di una campo. Come sapete i campi di una tabella, hanno delle proprietà, quali tipo (int, varchar, ecc) dimensione, ecc. Ci sono alcune proprietà particolari dette estese, come per esempio la Description, che  ha il compito di riportare la descrizione del campo.

 Per rilevare tale valore tramite codice .Net, dobbiamo aggiungere i seguenti namespace, che sono disponibili solo se sul computer è installato SQl Server 2005

VB.Net

Imports Microsoft.SqlServer.Management.Smo

Imports Microsoft.SqlServer.Management.Common

C#

using Microsoft.SqlServer.Management.Smo;

using Microsoft.SqlServer.Management.Common;

Vediamo il codice da utilizzare, per esempio  in un evento click di un pulsante

VB.Net

 

'nome del server
        Dim server As New Server("ServerDB")
        'tipo di login (sicuro con utenza e password)
        server.ConnectionContext.LoginSecure = False
        server.ConnectionContext.Login = "Utente"
        server.ConnectionContext.Password = "MiaPassword"
        'oggetto per la gestione del db
        Dim db As Database = server.Databases("Database")
        'oggetto tabella
        Dim tabella As New Table
        'imposto la tabella
        tabella = db.Tables("MiaTabella")
        'oggetto colonna ed imposto la colonna
        Dim colonna As Column = tabella.Columns("Campo")
        'visualizzo la descrizione della colonna
        MsgBox(colonna.ExtendedProperties("MS_DEScription"))

C#

 

//nome del server
             Server server = new Server("ServerDB"); 
            //tipo di login (sicuro con utenza e password)
             server.ConnectionContext.LoginSecure = false;
             server.ConnectionContext.Login = "Utente";
             server.ConnectionContext.Password = "MiaPassword";
            //oggetto per la gestione del db
             Database db = server.Databases["Database"];
            //oggetto tabella
             Table tabella = new Table();
            //imposto la tabella
             tabella = db.Tables["MiaTabella"];
            //oggetto colonna ed imposto la colonna
             Column colonna = tabella.Columns["Campo"];
            //visualizzo la descrizione della colonna

Mentre tramite istruzione SQL, utilizzando la funzione fn_listextendedproperty, come riportato nell'esempio qui di seguito:


SELECT * FROM fn_listextendedproperty(default, 'user', 'dbo','table', 'MiaTabella', 'column', default)