Per SQL Server, se utilizzi una versione più recente, puoi utilizzare
select *
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME='tableName'
Esistono diversi modi per ottenere lo schema. Utilizzando ADO.NET, è possibile utilizzare i metodi dello schema. Usa DbConnection
GetSchema
di metodo o il DataReader
'sGetSchemaTable
metodo.
A condizione che tu abbia un lettore per la query, puoi fare qualcosa del genere:
using(DbCommand cmd = ...)
using(var reader = cmd.ExecuteReader())
{
var schema = reader.GetSchemaTable();
foreach(DataRow row in schema.Rows)
{
Debug.WriteLine(row["ColumnName"] + " - " + row["DataTypeName"])
}
}
Vedi questo articolo per ulteriori dettagli.