DataColumnとは? わかりやすく解説

DataColumn イベント


パブリック イベントパブリック イベント

参照参照

関連項目

DataColumn クラス
System.Data 名前空間
Add
DataColumnCollection
Constraints
ConstraintCollection クラス
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint

DataColumn クラス

DataTable 内の列のスキーマを表します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Class DataColumn
    Inherits MarshalByValueComponent
public class DataColumn : MarshalByValueComponent
public ref class DataColumn : public
 MarshalByValueComponent
public class DataColumn extends MarshalByValueComponent
public class DataColumn extends
 MarshalByValueComponent
解説解説

DataColumn は、DataTable のスキーマを作成するための基本的なビルド ブロックです。スキーマを作成するには、1 つ以上の DataColumn オブジェクトを DataColumnCollection に追加します。詳細については、「テーブルへの列の追加」を参照してください。

各 DataColumn には、その DataColumn に格納されるデータの種類を決定する DataType プロパティがあります。たとえば、データ型を整数、文字列、10 進数などに制限できます。通常、DataTable に格納されるデータは、元のデータ ソースにマージ バックされるため、データ型をデータ ソース内のデータ型と一致させる必要があります。詳細については、「データ プロバイダのデータ型から .NET Framework のデータ型への変換」を参照してください。

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

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

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

DataColumn オブジェクトの Expression プロパティを使用して、列内の値を計算したり、集約列を作成したりできます。詳細については、「式列の作成」を参照してください。

使用例使用例

複数の DataColumn オブジェクトを使用して DataTable を作成する例を次に示します。

Private Sub MakeTable()
    ' Create a DataTable. 
    Dim table As DataTable = new
 DataTable("Product") 

    ' Create a DataColumn and set various properties. 
    Dim column As DataColumn = New
 DataColumn 
    column.DataType = System.Type.GetType("System.Decimal")
 
    column.AllowDBNull = False 
    column.Caption = "Price"  
    column.ColumnName = "Price" 
    column.DefaultValue = 25 

    ' Add the column to the table. 
    table.Columns.Add(column) 

    ' Add 10 rows and set values. 
    Dim row As DataRow 
    Dim i As Integer  
    For i = 0 to 9 
        row = table.NewRow() 
        row("Price") = i + 1 

        ' Be sure to add the new row to 
        ' the DataRowCollection. 
        table.Rows.Add(row) 
    Next i 
End Sub
private void MakeTable()
{ 
    // Create a DataTable. 
    DataTable table = new DataTable("Product");

    // Create a DataColumn and set various properties. 
    DataColumn column = new DataColumn(); 
    column.DataType = System.Type.GetType("System.Decimal"); 
    column.AllowDBNull = false; 
    column.Caption = "Price"; 
    column.ColumnName = "Price"; 
    column.DefaultValue = 25; 

    // Add the column to the table. 
    table.Columns.Add(column); 

    // Add 10 rows and set values. 
    DataRow row; 
    for(int i = 0; i < 10; i++)
    { 
        row = table.NewRow(); 
        row["Price"] = i + 1; 

        // Be sure to add the new row to the 
        // DataRowCollection. 
        table.Rows.Add(row); 
    } 
}
継承階層継承階層
System.Object
   System.ComponentModel.MarshalByValueComponent
    System.Data.DataColumn
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataColumn メンバ
System.Data 名前空間
Add
DataColumnCollection
Constraints
ConstraintCollection クラス
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint

DataColumn コンストラクタ ()

DataColumn クラスの新しいインスタンスを文字列型として初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

public DataColumn ()
public:
DataColumn ()
public DataColumn ()
解説解説

作成された DataColumn オブジェクトには、既定の ColumnName と Caption がありません。これを DataColumnCollection に追加するときに、ColumnName に名前が割り当てられていない場合、既定の名前 ("Column1"、"Column2" など) が生成されます。

使用例使用例

新しい DataColumn を作成し、各種のプロパティを設定し、この列を DataTable オブジェクトの DataColumnCollection に追加する例を次に示します。

Private Sub AddDataColumn(ByVal
 table As DataTable)
    Dim column As DataColumn = New
 DataColumn()

    ' Set various properties.
    With column
       .ColumnName = "id"
       .DataType = System.Type.GetType("System.Int32")
       .AutoIncrement = True
       .AutoIncrementSeed = 1
       .AutoIncrementStep = 1
       .ReadOnly = True
     End With

    ' Add to Columns collection.
    table.Columns.Add(column)
End Sub
private void AddDataColumn(DataTable table)
{
    DataColumn column = new DataColumn();

    // Set various properties.
    column.ColumnName = "id";
    column.DataType = System.Type.GetType("System.Int32");
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 1;
    column.AutoIncrementStep = 1;
    column.ReadOnly = true;

    // Add to Columns collection.
    table.Columns.Add(column);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataColumn コンストラクタ (String, Type, String)

指定した名前、データ型、および式を使用して DataColumn クラスの新しいインスタンスを初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    columnName As String, _
    dataType As Type, _
    expr As String _
)
Dim columnName As String
Dim dataType As Type
Dim expr As String

Dim instance As New DataColumn(columnName,
 dataType, expr)
public DataColumn (
    string columnName,
    Type dataType,
    string expr
)
public:
DataColumn (
    String^ columnName, 
    Type^ dataType, 
    String^ expr
)
public DataColumn (
    String columnName, 
    Type dataType, 
    String expr
)
public function DataColumn (
    columnName : String, 
    dataType : Type, 
    expr : String
)

パラメータ

columnName

作成する列の名前を表す文字列。null 参照 (Visual Basic では Nothing) または空の文字列 ("") に設定した場合は、列コレクションに追加するときに既定の名前が指定されます。

dataType

サポートされる DataType。

expr

この列の作成に使用される式。詳細については、Expression プロパティのトピックを参照してください。

例外例外
使用例使用例

計算列を作成する例を次に示します。

Private Sub AddDataColumn(ByVal
 table As DataTable)
    Dim column As DataColumn 
    Dim decimalType As System.Type
 
    decimalType = System.Type.GetType("System.Decimal")
    column = New DataColumn("Tax",
 decimalType, "UnitPrice * .0862")

    ' Set various properties.
    With column
       .AutoIncrement = False
       .ReadOnly = True
    End With

    ' Add to Columns collection.
    table.Columns.Add(column)
 End Sub
private void AddDataColumn(DataTable table)
{
    System.Type decimalType;
    decimalType = System.Type.GetType("System.Decimal");

    // Create the column. The name is 'Tax,' with data type Decimal,and
 
    // an expression ('UnitPrice * .0862) to calculate the tax.
    DataColumn column = new DataColumn("Tax", 
        decimalType, "UnitPrice * .0862");

    // Set various properties.
    column.AutoIncrement = false;
    column.ReadOnly = true;

    // Add to Columns collection.;
    table.Columns.Add(column);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataColumn コンストラクタ (String)

指定した列名を使用して、DataColumn クラスの新しいインスタンスを文字列型として初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    columnName As String _
)
Dim columnName As String

Dim instance As New DataColumn(columnName)
public DataColumn (
    string columnName
)
public:
DataColumn (
    String^ columnName
)
public DataColumn (
    String columnName
)
public function DataColumn (
    columnName : String
)

パラメータ

columnName

作成する列の名前を表す文字列。null 参照 (Visual Basic では Nothing) または空の文字列 ("") に設定した場合は、列コレクションに追加するときに既定の名前が指定されます。

解説解説

既定では、列の固有の名前が Caption プロパティ値になります。

使用例使用例

指定した ColumnName を使用して新しい DataColumn を作成する例を次に示します。

Private Sub AddDataColumn(ByVal
 table As DataTable)
    Dim column As DataColumn 
    column = New DataColumn("id")

    ' Set various properties.
    With column
       .DataType = System.Type.GetType("System.Int32")
       .AutoIncrement = True
       .AutoIncrementSeed = 1
       .AutoIncrementStep = 1
       .ReadOnly = True
     End With

    ' Add to Columns collection.
    table.Columns.Add(column)
End Sub
private void AddDataColumn(DataTable table)
{
    DataColumn column = new DataColumn("id");

    // Set various properties.
    column.DataType = System.Type.GetType("System.Int32");
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 1;
    column.AutoIncrementStep = 1;
    column.ReadOnly = true;

    // Add to Columns collection.
    table.Columns.Add(column);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataColumn コンストラクタ


DataColumn コンストラクタ (String, Type)

指定した列名とデータ型を使用して DataColumn クラスの新しいインスタンスを初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    columnName As String, _
    dataType As Type _
)
Dim columnName As String
Dim dataType As Type

Dim instance As New DataColumn(columnName,
 dataType)
public DataColumn (
    string columnName,
    Type dataType
)
public:
DataColumn (
    String^ columnName, 
    Type^ dataType
)
public DataColumn (
    String columnName, 
    Type dataType
)
public function DataColumn (
    columnName : String, 
    dataType : Type
)

パラメータ

columnName

作成する列の名前を表す文字列。null 参照 (Visual Basic では Nothing) または空の文字列 ("") に設定した場合は、列コレクションに追加するときに既定の名前が指定されます。

dataType

サポートされる DataType。

例外例外
使用例使用例

指定した ColumnName と DataType を使用して新しい DataColumn を作成する例を次に示します。

Private Sub AddDataColumn(ByVal
 table As DataTable)
    
   Dim typeInt32 As System.Type = _
      System.Type.GetType("System.Int32")
   Dim column As DataColumn = _
       New DataColumn("id", typeInt32)

   ' Set various properties.
   With column
      .AutoIncrement = True
      .AutoIncrementSeed = 1
      .AutoIncrementStep = 1
      .ReadOnly = True
    End With

   ' Add to Columns collection.
   table.Columns.Add(column)
End Sub
private void AddDataColumn(DataTable table)
{
    System.Type typeInt32 = 
        System.Type.GetType("System.Int32");
    DataColumn column = new DataColumn("id", typeInt32);

    // Set various properties.
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 1;
    column.AutoIncrementStep = 1;
    column.ReadOnly = true;

    // Add to Columns collection.
    table.Columns.Add(column);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataColumn コンストラクタ (String, Type, String, MappingType)

指定した名前、データ型、式、およびこの列が属性かどうかを決定する値を使用して、DataColumn クラスの新しいインスタンスを初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    columnName As String, _
    dataType As Type, _
    expr As String, _
    type As MappingType _
)
Dim columnName As String
Dim dataType As Type
Dim expr As String
Dim type As MappingType

Dim instance As New DataColumn(columnName,
 dataType, expr, type)
public DataColumn (
    string columnName,
    Type dataType,
    string expr,
    MappingType type
)
public:
DataColumn (
    String^ columnName, 
    Type^ dataType, 
    String^ expr, 
    MappingType type
)
public DataColumn (
    String columnName, 
    Type dataType, 
    String expr, 
    MappingType type
)
public function DataColumn (
    columnName : String, 
    dataType : Type, 
    expr : String, 
    type : MappingType
)

パラメータ

columnName

作成する列の名前を表す文字列。null 参照 (Visual Basic では Nothing) または空の文字列 ("") に設定した場合は、列コレクションに追加するときに既定の名前が指定されます。

dataType

サポートされる DataType。

expr

この列の作成に使用される式。詳細については、Expression プロパティのトピックを参照してください。

type

MappingType 値の 1 つ。

例外例外
解説解説

引数 type は ColumnMapping プロパティを設定します。このプロパティは、DataSet を XML ドキュメントに変換した場合に DataColumn を変換する方法を指定します。たとえば、この列に "fName" という名前が指定され、値 "Bob" が格納されていて、type が MappingType.Attribute に設定されている場合、この列の XML 要素は次のようになります。

<Name fName = 'Bob'/>

列を要素または属性に変換する方法の詳細については、ColumnMapping プロパティのトピックを参照してください。

使用例使用例

計算列を作成する例を次に示します。

Private Sub CreateComputedColumn(ByVal
 table As DataTable)
    Dim column As DataColumn
    Dim decimalType As System.Type = _
        System.Type.GetType("System.Decimal")

    ' The expression multiplies the "Price" column value by
 the 
    ' "Quantity" to create the "Total" column.
    Dim expression As String
 = "Price * Quantity"

    ' Create the column, setting the type to Attribute.
    column = New DataColumn("Total",
 decimalType, _
        expression, MappingType.Attribute)

    ' Set various properties.
    column.AutoIncrement = False
    column.ReadOnly = True

    ' Add the column to a DataTable object's DataColumnCollection.
    DataSet1.Tables("OrderDetails").Columns.Add(column)
End Sub
private void CreateComputedColumn(DataTable
 table)
{
    System.Type myDataType = 
        System.Type.GetType("System.Decimal");

    // The expression multiplies the "Price" column value
 
    // by the "Quantity" to create the "Total" column.
    string expression = "Price * Quantity";

    // Create the column, setting the type to Attribute.
    DataColumn column = new DataColumn("Total", myDataType,
 
        expression, MappingType.Attribute);

    // Set various properties.
    column.AutoIncrement = false;
    column.ReadOnly = true;

    // Add the column to a DataTable object's to DataColumnCollection.
    DataSet1.Tables["OrderDetails"].Columns.Add(column);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataColumn クラス
DataColumn メンバ
System.Data 名前空間
ColumnName
ColumnMapping
Caption
DefaultValue
DataTable
DataType

DataColumn プロパティ


パブリック プロパティパブリック プロパティ

( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ Container  コンポーネントを格納するコンテナを取得します。 ( MarshalByValueComponent から継承されます。)
パブリック プロパティ DesignMode  コンポーネントが現在デザイン モードかどうかを示す値を取得します。 ( MarshalByValueComponent から継承されます。)
パブリック プロパティ Site  コンポーネントのサイトを取得または設定します。 ( MarshalByValueComponent から継承されます。)
パブリック プロパティ Unique 列の各行の値が一意である必要があるかどうかを示す値を取得または設定します。
プロテクト プロパティプロテクト プロパティ
参照参照

関連項目

DataColumn クラス
System.Data 名前空間
Add
DataColumnCollection
Constraints
ConstraintCollection クラス
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint

DataColumn メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CheckNotAllowNull このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド CheckUnique このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 ( MarshalByValueComponent から継承されます。)
プロテクト メソッド Finalize  [To be supplied.] ( MarshalByValueComponent から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド OnPropertyChanging このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド RaisePropertyChanging このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
参照参照

関連項目

DataColumn クラス
System.Data 名前空間
Add
DataColumnCollection
Constraints
ConstraintCollection クラス
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint

DataColumn メンバ

DataTable 内の列のスキーマを表します。

DataColumn データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ Container  コンポーネントを格納するコンテナを取得します。(MarshalByValueComponent から継承されます。)
パブリック プロパティ DesignMode  コンポーネントが現在デザイン モードかどうかを示す値を取得します。(MarshalByValueComponent から継承されます。)
パブリック プロパティ Site  コンポーネントのサイトを取得または設定します。(MarshalByValueComponent から継承されます。)
パブリック プロパティ Unique 列の各行の値が一意である必要があるかどうかを示す値を取得または設定します。
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CheckNotAllowNull このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド CheckUnique このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 (MarshalByValueComponent から継承されます。)
プロテクト メソッド Finalize  [To be supplied.] (MarshalByValueComponent から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnPropertyChanging このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
プロテクト メソッド RaisePropertyChanging このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
パブリック イベントパブリック イベント
参照参照

関連項目

DataColumn クラス
System.Data 名前空間
Add
DataColumnCollection
Constraints
ConstraintCollection クラス
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DataColumn」の関連用語

DataColumnのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataColumnのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS