C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Add: We add DataColumns with Columns.Add. Internally, this overload of the Add method just constructs a new DataColumn.
OverloadNew: Next the program shows the DataColumn constructor which receives 2 parameters.
Tip: You can pass an actual DataColumn instance reference to the Add method on the Columns collection.
Then: We use a foreach-loop. It accesses the Columns property and loops over this with a DataColumn iteration variable.
ForeachC# program that uses DataColumn
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;
}
}
Output
Dosage = System.Int32
Medication = System.String
Patient = System.String
Appointment = System.DateTime
Note: The indexer just uses an internal Hashtable field to look up the references themselves.
IndexerHowever: There is a conflict when translating tabular data to in-memory object models and representations.
And: The DataColumn type is one way you can represent the data in memory without constantly using the database.