DataColumn
This class
designates columns in DataTables
. It specifies the name and type of certain columns in the table. We often use the typeof
operator with DataColumn
.
The DataColumn
type can be instantiated through the Columns.Add
method or through the DataColumn
constructor itself. It is used alongside DataTable
and DataRow
.
We construct a DataTable
using DataColumns
. The example adds some rows to the DataTable
based on the types and count of the columns specified by the DataColumn
references.
DataColumns
with Columns.Add
. Internally, this overload of the Add method just constructs a new DataColumn
.DataColumn
constructor which receives 2 parameters.DataColumn
instance reference to the Add method on the Columns collection.foreach
-loop. It accesses the Columns property and loops over this with a DataColumn
iteration variable.using System; using System.Data; class Program { static void Main() { // // Construct the DataTable. // DataTable table = GetTable(); // // Loop over the column headers in the DataTable. // foreach (DataColumn column in table.Columns) { Console.WriteLine("{0} = {1}", column, column.DataType); } } /// <summary> /// Generates a DataTable with four columns. /// </summary> static DataTable GetTable() { // // Here we create a DataTable and add columns to it. // DataTable table = new DataTable(); table.Columns.Add("Dosage", typeof(int)); table.Columns.Add("Medication", typeof(string)); table.Columns.Add("Patient", typeof(string)); // // Add another column to the data table in a different way. // DataColumn column = new DataColumn("Appointment", typeof(DateTime)); table.Columns.Add(column); // // Here we add some DataRows. // Note that the row parameters must match the order and types of the columns. // table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); return table; } }Dosage = System.Int32 Medication = System.String Patient = System.String Appointment = System.DateTime
DataColumns
can be accessed by their string
names in the indexer on the DataColumnCollection
. Internally, these DataColumn
references are stored in a Hashtable
.
Hashtable
field to look up the references themselves.The DataTable
, DataColumn
and DataRow
classes are in-memory relational database representations. Relational databases such as SQL Server store data in a structured way.
DataColumn
type is one way you can represent the data in memory without constantly using the database.We looked at the DataColumn
class
. This type acts as a template for the in-memory relational database abstraction specified by the DataTable
type.