How to read a table schema

image_pdfimage_print
   


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

class SchemaOnlyCommandBehavior
{
  public static void Main()
  {
    SqlConnection mySqlConnection =new SqlConnection("server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;");

    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
    mySqlCommand.CommandText ="SELECT ID, FirstName, LastName FROM Employee WHERE ID = 8";

    mySqlConnection.Open();

    SqlDataReader productsSqlDataReader =mySqlCommand.ExecuteReader(CommandBehavior.SchemaOnly);
    DataTable myDataTable = productsSqlDataReader.GetSchemaTable();

    foreach (DataRow myDataRow in myDataTable.Rows)
    {
      Console.WriteLine("
New column details follow:");
      foreach (DataColumn myDataColumn in myDataTable.Columns)
      {
        Console.WriteLine(myDataColumn + "= " +
          myDataRow[myDataColumn]);
        if (myDataColumn.ToString() == "ProviderType")
        {
          Console.WriteLine(myDataColumn + "= " +
            ((System.Data.SqlDbType) myDataRow[myDataColumn]));
        }
      }
    }

    productsSqlDataReader.Close();
    mySqlConnection.Close();
  }
}