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)