try
qlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
DataTable schemaTable;
SqlDataReader myReader;
cn.ConnectionString = @"Data Source=(local);User ID=sa;Password=;Initial Catalog=Northwind";
cn.Open();cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM [Order Details]";
myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);schemaTable = myReader.GetSchemaTable();foreach (DataRow myField in schemaTable.Rows)
{
Console.WriteLine("{0}; {1}, {2}, {3}", myField["COLUMNNAME"], myReader.GetDataTypeName( myReader.GetOrdinal(myField["COLUMNNAME"].ToString())),
myField["COLUMNSIZE"], myField["ALLOWDBNULL"]);
}myReader.Close();
cn.Close();
qlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
DataTable schemaTable;
SqlDataReader myReader;
cn.ConnectionString = @"Data Source=(local);User ID=sa;Password=;Initial Catalog=Northwind";
cn.Open();cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM [Order Details]";
myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);schemaTable = myReader.GetSchemaTable();foreach (DataRow myField in schemaTable.Rows)
{
Console.WriteLine("{0}; {1}, {2}, {3}", myField["COLUMNNAME"], myReader.GetDataTypeName( myReader.GetOrdinal(myField["COLUMNNAME"].ToString())),
myField["COLUMNSIZE"], myField["ALLOWDBNULL"]);
}myReader.Close();
cn.Close();
==>
SqlConnection cn = new SqlConnection();
{
foreach (DataColumn dc in schemaTable.Columns)
Console.Write("\t{0}:{1}\n",dc.ColumnName, myField[dc]); Console.WriteLine();
}