How to find Column Definition SqlServer

The DataSet object represents a collection of data retrieved from a data source. It allows working with the data it contains without needing to know the specific source of the data. This provides flexibility and abstraction when working with different data sources.

DataTable within a DataSet

To populate a DataTable within a DataSet, we can use the SqlDataAdapter object. The Fill method of the SqlDataAdapter enables us to retrieve data from the data source and populate the DataTable within the DataSet. This facilitates seamless integration of data from the data source into the DataSet.

It's important to note that a DataSet can contain multiple DataTables simultaneously. This allows for organizing and managing related data in separate tables within a single DataSet.

In certain scenarios, there may be a need to find the column headers within a DataTable. The DataTable class includes a ColumnsCollection object that holds the definitions of the columns. This collection provides access to the column headers and allows for manipulation and retrieval of column-related information. The following C# Source Code shows how to find Column Definitions from a Datatable.

Full Source C#
using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString = null; SqlConnection connection ; SqlCommand command ; SqlDataAdapter adapter = new SqlDataAdapter(); DataSet ds = new DataSet(); DataTable dt ; string sql = null; connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"; sql = "Your SQL Statement Here"; connection = new SqlConnection(connetionString); try { connection.Open(); command = new SqlCommand(sql, connection); adapter.SelectCommand = command; adapter.Fill(ds, "SQL Temp Table"); adapter.Dispose(); command.Dispose(); connection.Close(); dt = ds.Tables[0]; foreach (DataColumn column in dt.Columns) { MessageBox.Show (column.ColumnName); } } catch (Exception ex) { MessageBox.Show("Can not open connection ! "); } } } }

Within each DataTable, the data is organized in rows and columns. The DataRow class represents an individual row of data within a table. It provides properties and methods that enable retrieving, evaluating, and manipulating the data stored within the table. By utilizing the DataRow class, you can perform operations such as retrieving specific values, modifying data, or evaluating conditions on a per-row basis.


The DataSet object offers a flexible and abstracted representation of retrieved data. It can contain multiple DataTables, and the SqlDataAdapter enables populating a DataTable within the DataSet. The DataRow class facilitates data retrieval, manipulation, and evaluation on a per-row basis. Additionally, the ColumnsCollection object within the DataTable holds the column definitions and allows access to column-related information.