La prima cosa che dovresti fare è assicurarti che nessun dato venga restituito:
SELECT TOP 0 [vwGetData].* FROM [vwGetData] WHERE 1 = 2;
Ora supponendo che tu sappia come configurare un DataReader, dovresti fare quanto segue:
using(var reader = command.ExecuteReader())
{
// This will return false - we don't care, we just want to make sure the schema table is there.
reader.Read();
var tableSchema = reader.GetSchemaTable();
// Each row in the table schema describes a column
foreach (DataRow row in tableSchema.Rows)
{
Console.WriteLine(row["ColumnName"]);
}
}
Puoi anche esaminare le Viste SYS del catalogo SQL .