次の方法で共有


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 のデータ型への変換 」を参照してください。

AllowDBNullUniqueReadOnly などのプロパティを使用して、データの入力と更新に対して制限を設け、データの整合性を保持できるようにします。 AutoIncrementAutoIncrementSeedAutoIncrementStep の各プロパティを使用して、自動データ生成も制御できます。 AutoIncrement 列の詳細については、「 AutoIncrement 列の作成 」を参照してください。詳細については、「 テーブルの主キーの定義 」を参照してください。

UniqueConstraint を作成し、 DataColumn が属する DataTableConstraintCollection にこの制約を追加して、 DataColumn 内の値が一意であるようにすることもできます。詳細については、「 テーブルへの制約の追加 」を参照してください。

DataColumn オブジェクト間のリレーションシップを作成するには、 DataRelation オブジェクトを作成し、このオブジェクトを DataSetDataRelationCollection に追加します。

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