ResultSet Metadata: table column name and type : Column Type Name « ADO.Net « C# / CSharp Tutorial






using System;
using System.Data;
using System.Data.SqlClient;

class MainClass
{
   static void Main(string[] args)
   {
      string connString = @"server = .\sqlexpress;integrated security = true;database = northwind";

      string sql = @"select contactname,contacttitle from customers where contactname like 'M%'";

      SqlConnection conn = new SqlConnection(connString); 

      try
      {
         conn.Open();

         SqlCommand cmd = new SqlCommand(sql, conn);

         SqlDataReader rdr = cmd.ExecuteReader();

         // get column names
         Console.WriteLine("Column Name:\t{0} {1}",rdr.GetName(0).PadRight(25),rdr.GetName(1));

         // get column data types
         Console.WriteLine("Data Type:\t{0} {1}",rdr.GetDataTypeName(0).PadRight(25), rdr.GetDataTypeName(1));

         while (rdr.Read())
         {
            Console.WriteLine("\t\t{0} {1}",rdr.GetString(0).ToString().PadRight(25),rdr.GetString(1));
         }

         Console.WriteLine("Number of columns in a row: {0}",rdr.FieldCount);

         Console.WriteLine("'{0}' is at index {1} " +"and its type is: {2}",rdr.GetName(0),rdr.GetOrdinal("contactname"),rdr.GetFieldType(0));
         Console.WriteLine("'{0}' is at index {1} " +"and its type is: {2}",rdr.GetName(1),rdr.GetOrdinal("contacttitle"),rdr.GetFieldType(1));

         rdr.Close();
      }
      catch(Exception e)
      {
         Console.WriteLine("Error Occurred: " + e);
      }
      finally
      {
         conn.Close();
      }
   }
}








32.45.Column Type Name
32.45.1.ResultSet Metadata: table column name and type
32.45.2.Get table schema from SqlDataReader