System.Data Namespace DataColumn Class
Sets or retrieves the type of data stored in the column.
Script |
DataColumn.DataType [ = typeObj ] |
typeObj |
A Type object that represents the column data type. |
The property is read/write with no default value.
Setting the DataType value is critical to ensuring the correct creation and updating of data in a DBMS.
The DataType property supports the base .NET Framework data types shown below:
[ VB ] Note: the following types are not supported by Visual Basic: UInt16, UInt32, UInt64, and TimeSpan.
An exception is generated when changing this property after the column has begun storing data.
If AutoIncrement is set to true before setting the DataType property, and you attempt to set the type to anything except an integer type, an exception is generated.
The following example adds columns of several data types to a DataTable, then adds one row to the table.
public DataTable makeDataTable ( ) {
DataTable myTable;
DataRow myNewRow;
// create a new DataTable.
myTable = new DataTable ( "My Table" );
// create DataColumn objects of data types.
DataColumn colString = new DataColumn ( "StringCol" );
colString.DataType = System.Type.GetType ( "System.String" );
myTable.Columns.Add ( colString );
DataColumn colInt32 = new DataColumn ( "Int32Col" );
colInt32.DataType = System.Type.GetType ( "System.Int32" );
myTable.Columns.Add ( colInt32 );
DataColumn colBoolean = new DataColumn ( "BooleanCol" );
colBoolean.DataType = System.Type.GetType ( "System.Boolean" );
myTable.Columns.Add ( colBoolean );
DataColumn colTimeSpan = new DataColumn ( "TimeSpanCol" );
colTimeSpan.DataType = System.Type.GetType ( "System.TimeSpan" );
myTable.Columns.Add ( colTimeSpan );
DataColumn colDateTime = new DataColumn ( "DateTimeCol" );
colDateTime.DataType = System.Type.GetType ( "System.DateTime" );
myTable.Columns.Add ( colDateTime );
DataColumn colDecimal = new DataColumn ( "DecimalCol" );
colDecimal.DataType = System.Type.GetType ( "System.Decimal" );
myTable.Columns.Add ( colDecimal );
// populate one row with values.
myNewRow = myTable.NewRow ( );
myNewRow [ "StringCol" ] = "Item Name";
myNewRow [ "Int32Col" ] = 2147483647;
myNewRow [ "BooleanCol" ] = true;
myNewRow [ "TimeSpanCol" ] = new TimeSpan ( 10,22,10,15,100 );
myNewRow [ "DateTimeCol" ] = System.DateTime.Today;
myNewRow [ "DecimalCol" ] = 64.0021;
myTable.Rows.Add ( myNewRow );
return myTable;
}
Public Function makeDataTable ( ) As DataTable
Dim myTable As DataTable
Dim myNewRow As DataRow
' create a new DataTable.
myTable = New DataTable ( "My Table" )
' create DataColumn objects of data types.
Dim colString As DataColumn = New DataColumn ( "StringCol" )
colString.DataType = System.Type.GetType ( "System.String" )
myTable.Columns.Add ( colString )
Dim colInt32 As DataColumn = New DataColumn ( "Int32Col" )
colInt32.DataType = System.Type.GetType ( "System.Int32" )
myTable.Columns.Add ( colInt32 )
Dim colBoolean As DataColumn = New DataColumn ( "BooleanCol" )
colBoolean.DataType = System.Type.GetType ( "System.Boolean" )
myTable.Columns.Add ( colBoolean )
Dim colTimeSpan As DataColumn = New DataColumn ( "TimeSpanCol" )
colTimeSpan.DataType = System.Type.GetType ( "System.TimeSpan" )
myTable.Columns.Add ( colTimeSpan )
Dim colDateTime As DataColumn = New DataColumn ( "DateTimeCol" )
colDateTime.DataType = System.Type.GetType ( "System.DateTime" )
myTable.Columns.Add ( colDateTime )
Dim colDecimal As DataColumn = New DataColumn ( "DecimalCol" )
colDecimal.DataType = System.Type.GetType ( "System.Decimal" )
myTable.Columns.Add ( colDecimal )
' Populate one row with values.
myNewRow = myTable.NewRow ( )
myNewRow ( "StringCol" ) = "Item Name"
myNewRow ( "Int32Col" ) = 2147483647
myNewRow ( "BooleanCol" ) = True
myNewRow ( "TimeSpanCol" ) = New TimeSpan ( 10,22,10,15,100 )
myNewRow ( "DateTimeCol" ) = System.DateTime.Today
myNewRow ( "DecimalCol" ) = 64.0021
myTable.Rows.Add ( myNewRow )
makeDataTable = myTable
End Function |
|
C# |
VB |
DataColumn Members Type GetType