DataColumn.DataType プロパティ
列に格納されているデータの型を取得または設定します。
Public Property DataType As Type
[C#]
public Type DataType {get; set;}
[C++]
public: __property Type* get_DataType();public: __property void set_DataType(Type*);
[JScript]
public function get DataType() : Type;public function set DataType(Type);
プロパティ値
列のデータ型を表す Type オブジェクト。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | この列には既にデータが格納されています。 |
ArgumentException | AutoIncrement が true に設定されていますが、 AutoIncrement がサポートしない型に値が設定されています。 |
解説
DataType 値の設定は、データ ソース内のデータを正しく作成および更新できるようにするために重要です。
DataType プロパティは、次に示す基本 .NET Framework データ型をサポートします。
- Boolean
- Byte
- Char
- DateTime
- Decimal
- Double
- Int16
- Int32
- Int64
- SByte
- Single
- String
- TimeSpan
- UInt16
- UInt32
- UInt64
列へのデータの格納が開始された後でこのプロパティを変更すると、例外が生成されます。
DataType プロパティを設定する前に AutoIncrement を true に設定し、整数型以外の型に設定しようとすると、例外が生成されます。
使用例
[Visual Basic, C#, C++] データ型が異なる複数の列を DataTable に追加し、そのテーブルに 1 行を追加する例を次に示します。
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#]
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;
}
[C++]
public:
DataTable* MakeDataTable(){
DataTable* myTable;
DataRow* myNewRow;
// Create a new DataTable.
myTable = new DataTable(S"My Table");
// Create DataColumn objects of data types.
DataColumn* colString = new DataColumn(S"StringCol");
colString->DataType = System::Type::GetType(S"System.String");
myTable->Columns->Add(colString);
DataColumn* colInt32 = new DataColumn(S"Int32Col");
colInt32->DataType = System::Type::GetType(S"System.Int32");
myTable->Columns->Add(colInt32);
DataColumn* colBoolean = new DataColumn(S"BooleanCol");
colBoolean->DataType = System::Type::GetType(S"System.Boolean");
myTable->Columns->Add(colBoolean);
DataColumn* colTimeSpan = new DataColumn(S"TimeSpanCol");
colTimeSpan->DataType = System::Type::GetType(S"System.TimeSpan");
myTable->Columns->Add(colTimeSpan);
DataColumn* colDateTime = new DataColumn(S"DateTimeCol");
colDateTime->DataType = System::Type::GetType(S"System.DateTime");
myTable->Columns->Add(colDateTime);
DataColumn* colDecimal = new DataColumn(S"DecimalCol");
colDecimal->DataType = System::Type::GetType(S"System.Decimal");
myTable->Columns->Add(colDecimal);
// Populate one row with values.
myNewRow = myTable->NewRow();
myNewRow->Item[S"StringCol"] = S"Item Name";
myNewRow->Item[S"Int32Col"] = __box(2147483647);
myNewRow->Item[S"BooleanCol"] = __box(true);
myNewRow->Item[S"TimeSpanCol"] = __box(TimeSpan(10,22,10,15,100));
myNewRow->Item[S"DateTimeCol"] = __box(System::DateTime::Today);
myNewRow->Item[S"DecimalCol"] = __box(64.0021);
myTable->Rows->Add(myNewRow);
return myTable;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
DataColumn クラス | DataColumn メンバ | System.Data 名前空間 | Type | GetType