Result set info: field count and field type

image_pdfimage_print
   

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

   class ResultSetInfo{
      static void Main(string[] args) {
         string connString = "server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";

         string sql = @"select FirstName, LastName from Employee";

         SqlConnection conn = new SqlConnection(connString);

         try {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader reader = cmd.ExecuteReader();
            Console.WriteLine("Column Name:	{0} {1}", reader.GetName(0).PadRight(25),reader.GetName(1));
            Console.WriteLine("Data Type:	{0} {1}", reader.GetDataTypeName(0).PadRight(25), reader.GetDataTypeName(1));
            Console.WriteLine("Number of columns in a row: {0}", reader.FieldCount);
            Console.WriteLine("'{0}' is at index {1} and its type is: {2}", 
               reader.GetName(0),reader.GetOrdinal("FirstName"),reader.GetFieldType(0));

            Console.WriteLine("'{0}' is at index {1} and its type is: {2}", 
               reader.GetName(1), reader.GetOrdinal("LastName"),reader.GetFieldType(1));
            reader.Close();
         }
         catch(Exception e)
         {
            Console.WriteLine("Error Occurred: " + e);
         }
         finally
         {
            conn.Close();
         }
      }  
   }