DataColumn クラス
DataTable 内の列のスキーマを表します。
この型のすべてのメンバの一覧については、DataColumn メンバ を参照してください。
System.Object
System.ComponentModel.MarshalByValueComponent
System.Data.DataColumn
Public Class DataColumn
Inherits MarshalByValueComponent
[C#]
public class DataColumn : MarshalByValueComponent
[C++]
public __gc class DataColumn : public MarshalByValueComponent
[JScript]
public class DataColumn extends MarshalByValueComponent
スレッドセーフ
この型は、マルチスレッド読み取り操作に対して安全です。すべての書き込み操作の同期をとる必要があります。
解説
DataColumn は、 DataTable のスキーマを作成するための基本的なビルド ブロックです。スキーマを作成するには、1 つ以上の DataColumn オブジェクトを DataColumnCollection に追加します。詳細については、「 テーブルへの列の追加 」を参照してください。
各 DataColumn には、その DataColumn に格納されるデータの種類を決定する DataType プロパティがあります。たとえば、データ型を整数、文字列、10 進数などに制限できます。通常、 DataTable に格納されるデータは、元のデータ ソースにマージ バックされるため、データ型をデータ ソース内のデータ型と一致させる必要があります。詳細については、「 .NET Framework データ プロバイダのデータ型から .NET Framework のデータ型への変換 」を参照してください。
AllowDBNull 、 Unique 、 ReadOnly などのプロパティを使用して、データの入力と更新に対して制限を設け、データの整合性を保持できるようにします。 AutoIncrement 、 AutoIncrementSeed 、 AutoIncrementStep の各プロパティを使用して、自動データ生成も制御できます。 AutoIncrement 列の詳細については、「 AutoIncrement 列の作成 」を参照してください。詳細については、「 テーブルの主キーの定義 」を参照してください。
UniqueConstraint を作成し、 DataColumn が属する DataTable の ConstraintCollection にこの制約を追加して、 DataColumn 内の値が一意であるようにすることもできます。詳細については、「 テーブルへの制約の追加 」を参照してください。
DataColumn オブジェクト間のリレーションシップを作成するには、 DataRelation オブジェクトを作成し、このオブジェクトを DataSet の DataRelationCollection に追加します。
DataColumn オブジェクトの Expression プロパティを使用して、列内の値を計算したり、集約列を作成したりできます。詳細については、「 式列の作成 」を参照してください。
使用例
[Visual Basic, C#, C++] 複数の DataColumn オブジェクトを使用して DataTable を作成する例を次に示します。
Private Sub MakeTable()
' Create a DataTable.
Dim myTable As DataTable = new DataTable("myTable")
' Create a DataColumn and set various properties.
Dim myColumn As DataColumn = New DataColumn
myColumn.DataType = System.Type.GetType("System.Decimal")
myColumn.AllowDBNull = False
myColumn.Caption = "Price"
myColumn.ColumnName = "Price"
myColumn.DefaultValue = 25
' Add the column to the table.
myTable.Columns.Add(myColumn)
' Add 10 rows and set values.
Dim myRow As DataRow
Dim i As Integer
For i = 0 to 9
myRow = myTable.NewRow()
myRow("Price") = i + 1
' Be sure to add the new row to the DataRowCollection.
myTable.Rows.Add(myRow)
Next i
End Sub
[C#]
private void MakeTable(DataTable myTable){
// Create a DataTable. DataTable myTable = new DataTable("myTable");
// Create a DataColumn and set various properties.
DataColumn myColumn = new DataColumn();
myColumn.DataType = System.Type.GetType("System.Decimal");
myColumn.AllowDBNull = false;
myColumn.Caption = "Price";
myColumn.ColumnName = "Price";
myColumn.DefaultValue = 25;
// Add the column to the table.
myTable.Columns.Add(myColumn);
// Add 10 rows and set values.
DataRow myRow;
for(int i = 0; i < 10; i++){
myRow = myTable.NewRow(); myRow["Price"] = i + 1;
// Be sure to add the new row to the DataRowCollection.
myTable.Rows.Add(myRow);
}
}
[C++]
private:
void MakeTable(DataTable* myTable){
// Create a DataTable. DataTable myTable = new DataTable("myTable");
// Create a DataColumn and set various properties.
DataColumn* myColumn = new DataColumn();
myColumn->DataType = System::Type::GetType(S"System.Decimal");
myColumn->AllowDBNull = false;
myColumn->Caption = S"Price";
myColumn->ColumnName = S"Price";
myColumn->DefaultValue = __box(25);
// Add the column to the table.
myTable->Columns->Add(myColumn);
// Add 10 rows and set values.
DataRow* myRow;
for(int i = 0; i < 10; i++){
myRow = myTable->NewRow(); myRow->Item[S"Price"] = __box(i + 1);
// Be sure to add the new row to the DataRowCollection.
myTable->Rows->Add(myRow);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Data
プラットフォーム: 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
アセンブリ: System.Data (System.Data.dll 内)
参照
DataColumn メンバ | System.Data 名前空間 | Add | DataColumnCollection | Constraints | ConstraintCollection | System.Windows.Forms.DataGrid | DataRow | DataTable | DataSet | NewRow | DataRowCollection | UniqueConstraint