Allora facciamolo con il DataReader.
Il DataReader una volta aperta la connessione ti consente di usare un metodo moooolto bello che si chiama GetSchema()
Questo metodo crea una DataTable con tutte le colonne della tua SELECT comprese di data Type e quant' altro. Io lo uso sempre per costruire dinamicamente il contenitore di dati, visto che odio le DataTable (troppo castranti)
codice:
DataTable schema = reader.GetSchemaTable();
for(int x = 0; x < schema.Rows.Count; x++)
{
System.Diagnostics.Debug.WriteLine("DataType : " + schema.Rows[x]["DataType"].ToString());
System.Diagnostics.Debug.WriteLine("Name : " + schema.Rows[x]["ColumnName"].ToString());
System.Diagnostics.Debug.WriteLine("Key : " + schema.Rows[x]["IsKey"].ToString());
System.Diagnostics.Debug.WriteLine("Unique : " + schema.Rows[x]["IsUnique"].ToString());
System.Diagnostics.Debug.WriteLine("Identity : "+schema.Rows[x]["IsIdentity"].ToString());
}
Bello eh?