SiteMap  | About    

C# Table Schema from SqlDataReader

The SqlDataReader Object is a stream-based , forward-only, read-only retrieval of query results from the Data Source, which do not update the data. When the ExecuteReader method in C# SqlCommand Object execute , it will instantiate a SqlClient.SqlDataReader Object.

While SqlDataReader is open, you can retrieve the schema information about the current result set using the GetSchemaTable method of SqlDataReader. GetSchemaTable returns a DataTable object, which populated with rows and columns that contain the schema information for the current result set.

using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient; 

namespace WindowsApplication1
    public partial class Form1 : Form
        public Form1()

        private void button1_Click(object sender, EventArgs e)
            string connetionString = null;
            SqlConnection sqlCnn ;
            SqlCommand sqlCmd ;
            string sql = null;

            connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
            sql = "Select * from product";

            sqlCnn = new SqlConnection(connetionString);
                sqlCmd = new SqlCommand(sql, sqlCnn);
                SqlDataReader sqlReader = sqlCmd.ExecuteReader();
                DataTable schemaTable = sqlReader.GetSchemaTable();

                foreach (DataRow row in schemaTable.Rows)
                    foreach (DataColumn column in schemaTable.Columns)
                        MessageBox.Show (string.Format("{0} = {1}", column.ColumnName, row[column]));
            catch (Exception ex)
                MessageBox.Show("Can not open connection ! ");
} (C) 2019    Founded by raps mk
All Rights Reserved. All other trademarks are property of their respective owners.