VB.NET DataTable

Array Collections File Keyword String Cast Class Console Data Directive Enum Exception If Interface Lambda LINQ Loop Nothing Number Process Property Regex Select Sort StringBuilder Structure Sub Time Windows

Data

DataTable. Data is often stored in tables. And these tables often reside in databases. In the .NET Framework, the DataTable type stores data in memory.


Squares: grey

Columns, rows. Used often in VB.NET programs,
DataTable has columns
and rows properties. DataTable is an in-memory representation of structured data—such as that read from a database.


Data

A program. We define GetTable—this returns a new DataTable. When the GetTable function is invoked, it creates a new DataTable and adds four columns to it.

Columns:These are named with a string argument and a Type argument. They have different types.

GetTable:In a DataTable, each column allows a specific type of data. The GetTable method adds five rows to the DataTable.

Tip:The arguments to the Rows.Add method are of the types specified in the columns.

Based on:

.NET 4.0

Program that creates DataTable: VB.NET

Module Module1

    Sub Main()
	' Get a DataTable instance from helper function.
	Dim table As DataTable = GetTable()
    End Sub

    ''' <summary>
    ''' Helper function that creates new DataTable.
    ''' </summary>
    Function GetTable() As DataTable
	' Create new DataTable instance.
	Dim table As New DataTable

	' Create four typed columns in the DataTable.
	table.Columns.Add("Dosage", GetType(Integer))
	table.Columns.Add("Drug", GetType(String))
	table.Columns.Add("Patient", GetType(String))
	table.Columns.Add("Date", GetType(DateTime))

	' Add five rows with those columns filled in the DataTable.
	table.Rows.Add(25, "Indocin", "David", DateTime.Now)
	table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now)
	table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now)
	table.Rows.Add(21, "Combivent", "Janet", DateTime.Now)
	table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now)
	Return table
    End Function

End Module
Program

Adding columns, rows. By using the general pattern of adding columns and rows, you can construct usable DataTables in any program context.

Then:You can do more useful tasks such as storing them to SQL Server databases.

Also:You can display them on a DataGridView control in Windows Forms. DataTable is often used together with other System.Data types.


Loop

Rows. Please paste in the GetTable method to run this program. In the For-Each loop, we loop over each Row. With Field(), we print the first Integer cell in each row.

Generic method:Field, part of DataRow, is a generic method. So we must specify the Of Integer part to indicate its parametric type.

Program that loops over rows: VB.NET

Module Module1

    Sub Main()
	' This calls the GetTable method from above.
	Dim table As DataTable = GetTable()

	' Access Rows property on DataTable.
	For Each row As DataRow In table.Rows
	    ' Write value of first Integer.
	    Console.WriteLine(row.Field(Of Integer)(0))
	Next
    End Sub

End Module

Output

25
50
10
21
100
Select method call

Select. One Function we can call is Select. This acts like a database query. We pass it is query string and the DataTable itself returns matching rows.

DataTable Select
DataRow

Rows. This property returns DataRow instances. A DataRow must contain a cell for each DataColumn in the table. We can access fields with the Field extension.

DataRowDataRow Field
2D array

Columns. In a DataTable we must have columns. These are a template for the actual data, for the DataRows. Each field's type is specified with a DataColumn.

DataColumn
Set

DataSet. A program can use many DataTables. And with DataSet, we can combine those tables into a single Class—this makes them easier to handle.

DataSet
DataTable

A useful type. The examples shown here are not useful on their own. But the style of programmatic DataTable mutation is applicable to many programs.


The VB.NET programming language

DataTable describes the instructions that for man in-memory data representation object. With it, and its friends DataRow and DataColumn (among others), we handle data.

VB.NET