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

DataTable イベント


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

  名前 説明
パブリック イベント ColumnChanged DataRow 内の指定した DataColumn の値が変更された後に発生します。
パブリック イベント ColumnChanging DataRow 内の指定した DataColumn の値が変更されているときに発生します。
パブリック イベント Disposed  コンポーネントの Disposed イベントを待機するイベント ハンドラを追加します。 ( MarshalByValueComponent から継承されます。)
パブリック イベント Initialized DataTable が初期化された後に発生します。
パブリック イベント RowChanged DataRow が正常に変更された後に発生します。
パブリック イベント RowChanging DataRow が変更されているときに発生します。
パブリック イベント RowDeleted テーブル内の行が削除された後に発生します。
パブリック イベント RowDeleting テーブル内の行が削除される直前に発生します。
パブリック イベント TableCleared DataTable が消去された後に発生します。
パブリック イベント TableClearing DataTable が削除されたときに発生します。
パブリック イベント TableNewRow 新しい DataRow が挿入されると発生します。
参照参照

関連項目

DataTable クラス
System.Data 名前空間

その他の技術情報

DataTable の作成と使用

DataTable クラス

インメモリ データのテーブル 1 つを表します。

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

<SerializableAttribute> _
Public Class DataTable
    Inherits MarshalByValueComponent
    Implements IListSource, ISupportInitializeNotification, ISupportInitialize,
 ISerializable, _
    IXmlSerializable
[SerializableAttribute] 
public class DataTable : MarshalByValueComponent,
 IListSource, ISupportInitializeNotification, ISupportInitialize, 
    ISerializable, IXmlSerializable
[SerializableAttribute] 
public ref class DataTable : public
 MarshalByValueComponent, IListSource, ISupportInitializeNotification, ISupportInitialize,
 
    ISerializable, IXmlSerializable
/** @attribute SerializableAttribute() */ 
public class DataTable extends MarshalByValueComponent
 implements IListSource, ISupportInitializeNotification, 
    ISupportInitialize, ISerializable, IXmlSerializable
SerializableAttribute 
public class DataTable extends
 MarshalByValueComponent implements IListSource, ISupportInitializeNotification,
 
    ISupportInitialize, ISerializable, IXmlSerializable
解説解説

DataTable は ADO.NET ライブラリ内の中心的オブジェクトです。DataTable を使用するその他のオブジェクトとしては、DataSet と DataView があります。

DataTable オブジェクトにアクセスするときは、条件付きで大文字と小文字が区別されることに注意してください。たとえば、"mydatatable" という名前の DataTable と "Mydatatable" という名前のテーブルがある場合は、この 2 つのテーブルのどちらかを検索する文字列は大文字と小文字を区別すると見なされます。ただし、"mydatatable" という名前は存在するが "Mydatatable" という名前が存在しない場合は、検索文字列は大文字と小文字を区別しないと見なされます。DataSet に、TableName プロパティの値が同じで Namespace プロパティの値が異なる DataTable オブジェクトを 2 つ格納できます。DataTable オブジェクトの使用の詳細については、「DataTable の作成」を参照してください。

プログラムによって DataTable を作成する場合は、最初に DataColumn オブジェクトを (Columns プロパティを使用してアクセスする) DataColumnCollection に追加してテーブルのスキーマを定義する必要があります。DataColumn オブジェクトの追加の詳細については、「テーブルへの列の追加」を参照してください。

DataTable に行を追加するには、最初に NewRow メソッドを使用して新しい DataRow オブジェクトを返す必要があります。スキーマはテーブルの DataColumnCollection によって定義されているため、NewRow メソッドは DataTable のスキーマを使用して行を返します。DataTable が格納できる最大行数は 16,777,216 行です。詳細については、「テーブルへのデータの追加」を参照してください。

また、DataTable には、データの整合性の保持に使用できる Constraint オブジェクトのコレクションも格納されます。詳細については、「テーブルへの制約の追加」を参照してください。

テーブルへの変更を調べるために使用できる DataTable イベントはたくさんあります。たとえば、RowChanged、RowChanging、RowDeleting、RowDeleted などがあります。DataTable で使用できるイベントの詳細については、「DataTable イベントの使用」を参照してください。

DataTable のインスタンスを作成すると、一部の読み書き可能プロパティが初期値に設定されます。これらの初期値の一覧については、System.Data.DataTable コンストラクタのトピックを参照してください。

メモメモ

DataSet オブジェクトと DataTable オブジェクトは MarshalByValueComponent から継承し、.NET Framework リモート処理用の ISerializable インターフェイスをサポートします。.NET Framework リモート処理に使用できる ADO.NET オブジェクトは、これらのオブジェクトだけです。

使用例使用例

2 つの DataTable オブジェクトと 1 つの DataRelation オブジェクトを作成し、新しいオブジェクトを DataSet に追加する例を次に示します。テーブルは、次に DataGridView コントロールに表示されます。

' Put the next line into the Declarations section.
private dataSet As DataSet 
 
Private Sub MakeDataTables()
    ' Run all of the functions. 
    MakeParentTable()
    MakeChildTable()
    MakeDataRelation()
    BindToDataGrid()
End Sub
 
Private Sub MakeParentTable()
    ' Create a new DataTable.
    Dim table As DataTable = new
 DataTable("ParentTable")

    ' Declare variables for DataColumn and DataRow objects.
    Dim column As DataColumn 
    Dim row As DataRow 
 
    ' Create new DataColumn, set DataType, ColumnName 
    ' and add to DataTable.    
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.Int32")
    column.ColumnName = "id"
    column.ReadOnly = True
    column.Unique = True

    ' Add the Column to the DataColumnCollection.
    table.Columns.Add(column)
 
    ' Create second column.
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.String")
    column.ColumnName = "ParentItem"
    column.AutoIncrement = False
    column.Caption = "ParentItem"
    column.ReadOnly = False
    column.Unique = False

    ' Add the column to the table.
    table.Columns.Add(column)
 
    ' Make the ID column the primary key column.
    Dim PrimaryKeyColumns(0) As DataColumn
    PrimaryKeyColumns(0)= table.Columns("id")
    table.PrimaryKey = PrimaryKeyColumns
 
    ' Instantiate the DataSet variable.
    dataSet = New DataSet()

    ' Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table)
 
    ' Create three new DataRow objects and add 
    ' them to the DataTable
    Dim i As Integer
    For i = 0 to 2
       row = table.NewRow()
       row("id") = i
       row("ParentItem") = "ParentItem
 " + i.ToString()
       table.Rows.Add(row)
    Next i
End Sub
 
Private Sub MakeChildTable()
    ' Create a new DataTable.
    Dim table As DataTable = New
 DataTable("childTable")
    Dim column As DataColumn 
    Dim row As DataRow 
 
    ' Create first column and add to the DataTable.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ChildID"
    column.AutoIncrement = True
    column.Caption = "ID"
    column.ReadOnly = True
    column.Unique = True

    ' Add the column to the DataColumnCollection.
    table.Columns.Add(column)
 
    ' Create second column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.String")
    column.ColumnName = "ChildItem"
    column.AutoIncrement = False
    column.Caption = "ChildItem"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)
 
    ' Create third column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ParentID"
    column.AutoIncrement = False
    column.Caption = "ParentID"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)
 
    dataSet.Tables.Add(table)

    ' Create three sets of DataRow objects, five rows each, 
    ' and add to DataTable.
    Dim i As Integer
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i
       row("ChildItem") = "Item
 " + i.ToString()
       row("ParentID") = 0 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 5
       row("ChildItem") = "Item
 " + i.ToString()
       row("ParentID") = 1 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 10
       row("ChildItem") = "Item
 " + i.ToString()
       row("ParentID") = 2 
       table.Rows.Add(row)
    Next i
End Sub
 
Private Sub MakeDataRelation()
    ' DataRelation requires two DataColumn 
    ' (parent and child) and a name.
    Dim parentColumn As DataColumn = _
        dataSet.Tables("ParentTable").Columns("id")
    Dim childColumn As DataColumn = _
        dataSet.Tables("ChildTable").Columns("ParentID")
    Dim relation As DataRelation = new
 _
        DataRelation("parent2Child", parentColumn,
 childColumn)
    dataSet.Tables("ChildTable").ParentRelations.Add(relation)
End Sub
 
Private Sub BindToDataGrid()
    ' Instruct the DataGrid to bind to the DataSet, with the 
    ' ParentTable as the topmost DataTable.
    DataGrid1.SetDataBinding(dataSet,"ParentTable")
End Sub
 
// Put the next line into the Declarations section.
private System.Data.DataSet dataSet;
 
private void MakeDataTables()
{
    // Run all of the functions. 
    MakeParentTable();
    MakeChildTable();
    MakeDataRelation();
    BindToDataGrid();
}
 
private void MakeParentTable()
{
    // Create a new DataTable.
    System.Data.DataTable table = new DataTable("ParentTable");
    // Declare variables for DataColumn and DataRow objects.
    DataColumn column;
    DataRow row;
 
    // Create new DataColumn, set DataType, 
    // ColumnName and add to DataTable.    
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.ColumnName = "id";
    column.ReadOnly = true;
    column.Unique = true;
    // Add the Column to the DataColumnCollection.
    table.Columns.Add(column);
 
    // Create second column.
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName = "ParentItem";
    column.AutoIncrement = false;
    column.Caption = "ParentItem";
    column.ReadOnly = false;
    column.Unique = false;
    // Add the column to the table.
    table.Columns.Add(column);
 
    // Make the ID column the primary key column.
    DataColumn[] PrimaryKeyColumns = new DataColumn[1];
    PrimaryKeyColumns[0] = table.Columns["id"];
    table.PrimaryKey = PrimaryKeyColumns;
 
    // Instantiate the DataSet variable.
    dataSet = new DataSet();
    // Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table);
 
    // Create three new DataRow objects and add 
    // them to the DataTable
    for (int i = 0; i<= 2; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["ParentItem"] = "ParentItem " + i;
        table.Rows.Add(row);
    }
}
 
private void MakeChildTable()
{
    // Create a new DataTable.
    DataTable table = new DataTable("childTable");
    DataColumn column;
    DataRow row;
 
    // Create first column and add to the DataTable.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ChildID";
    column.AutoIncrement = true;
    column.Caption = "ID";
    column.ReadOnly = true;
    column.Unique = true;

    // Add the column to the DataColumnCollection.
    table.Columns.Add(column);
 
    // Create second column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.String");
    column.ColumnName = "ChildItem";
    column.AutoIncrement = false;
    column.Caption = "ChildItem";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);
 
    // Create third column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ParentID";
    column.AutoIncrement = false;
    column.Caption = "ParentID";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);
 
    dataSet.Tables.Add(table);

    // Create three sets of DataRow objects, 
    // five rows each, and add to DataTable.
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 0 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 5;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 1 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 10;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 2 ;
        table.Rows.Add(row);
    }
}
 
private void MakeDataRelation()
{
    // DataRelation requires two DataColumn 
    // (parent and child) and a name.
    DataColumn parentColumn = 
        dataSet.Tables["ParentTable"].Columns["id"];
    DataColumn childColumn = 
        dataSet.Tables["ChildTable"].Columns["ParentID"];
    DataRelation relation = new 
        DataRelation("parent2Child", parentColumn, childColumn);
    dataSet.Tables["ChildTable"].ParentRelations.Add(relation);
}
 
private void BindToDataGrid()
{
    // Instruct the DataGrid to bind to the DataSet, with the 
    // ParentTable as the topmost DataTable.
    dataGrid1.SetDataBinding(dataSet,"ParentTable");
}
継承階層継承階層
System.Object
   System.ComponentModel.MarshalByValueComponent
    System.Data.DataTable
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTable コンストラクタ ()

引数を指定せずに、DataTable クラスの新しいインスタンスを初期化します。

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

解説解説
使用例使用例

DataColumn と DataRow で新しい DataTable を作成し、このテーブルを DataGridView コントロールに表示する例を次に示します。

Private Sub MakeDataTableAndDisplay()
   ' Create new DataTable.
   Dim table As New DataTable

   ' Declare DataColumn and DataRow variables.
   Dim column As DataColumn
   Dim row As DataRow

   ' Create new DataColumn, set DataType, ColumnName 
   ' and add to DataTable.    
   column = New DataColumn
   column.DataType = System.Type.GetType("System.Int32")
   column.ColumnName = "id"
   table.Columns.Add(column)

   ' Create second column.
   column = New DataColumn
   column.DataType = Type.GetType("System.String")
   column.ColumnName = "item"
   table.Columns.Add(column)

   ' Create new DataRow objects and add to DataTable.    
   Dim i As Integer
   For i = 0 To 10
      row = table.NewRow
      row("id") = i
      row("item") = "item "
 & i
      table.Rows.Add(row)
   Next i

   ' Set to DataGrid.DataSource property to the table.
   DataGrid1.DataSource = table
End Sub
private void MakeDataTableAndDisplay()
{
    // Create new DataTable.
    DataTable table = new DataTable();

    // Declare DataColumn and DataRow variables.
    DataColumn column;
    DataRow row;
 
    // Create new DataColumn, set DataType, ColumnName
    // and add to DataTable.    
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.ColumnName = "id";
    table.Columns.Add(column);
 
    // Create second column.
    column = new DataColumn();
    column.DataType = Type.GetType("System.String");
    column.ColumnName = "item";
    table.Columns.Add(column);
 
    // Create new DataRow objects and add to DataTable.    
    for(int i = 0; i < 10; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }
    // Set to DataGrid.DataSource property to the table.
    dataGrid1.DataSource = table;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTable コンストラクタ (SerializationInfo, StreamingContext)

SerializationInfo と StreamingContext を使用して、DataTable クラスの新しいインスタンスを初期化します。

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

Protected Sub New ( _
    info As SerializationInfo, _
    context As StreamingContext _
)
Dim info As SerializationInfo
Dim context As StreamingContext

Dim instance As New DataTable(info,
 context)
protected DataTable (
    SerializationInfo info,
    StreamingContext context
)
protected:
DataTable (
    SerializationInfo^ info, 
    StreamingContext context
)
protected DataTable (
    SerializationInfo info, 
    StreamingContext context
)
protected function DataTable (
    info : SerializationInfo, 
    context : StreamingContext
)

パラメータ

info

オブジェクトのシリアル化または逆シリアル化に必要なデータ。

context

指定したシリアル化ストリームの転送元と転送先。

解説解説

この DataTable コンストラクタの実装は、ISerializable に必要です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTable コンストラクタ (String, String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定したテーブル名と名前空間を使用して、DataTable クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    tableName As String, _
    tableNamespace As String _
)
Dim tableName As String
Dim tableNamespace As String

Dim instance As New DataTable(tableName,
 tableNamespace)
public DataTable (
    string tableName,
    string tableNamespace
)
public:
DataTable (
    String^ tableName, 
    String^ tableNamespace
)
public DataTable (
    String tableName, 
    String tableNamespace
)
public function DataTable (
    tableName : String, 
    tableNamespace : String
)

パラメータ

tableName

テーブルに付ける名前。null 参照 (Visual Basic では Nothing) または空の文字列の場合は、DataTableCollection に追加したときに既定の名前が付けられます。

tableNamespace

DataTable に格納されているデータの XML 表現の名前空間。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTable コンストラクタ

DataTable クラスの新しいインスタンスを初期化します。 DataTable の作成と使用
オーバーロードの一覧オーバーロードの一覧

参照参照

関連項目

DataTable クラス
DataTable メンバ
System.Data 名前空間

その他の技術情報

DataTable の作成と使用
DataTable の作成と使用

DataTable コンストラクタ (String)

指定したテーブル名を使用して DataTable クラスの新しいインスタンスを初期化します。

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

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

Dim instance As New DataTable(tableName)
public DataTable (
    string tableName
)
public:
DataTable (
    String^ tableName
)
public DataTable (
    String tableName
)
public function DataTable (
    tableName : String
)

パラメータ

tableName

テーブルに付ける名前。null 参照 (Visual Basic では Nothing) または空の文字列の場合は、DataTableCollection に追加したときに既定の名前が付けられます。

使用例使用例

DataTable を作成し、それを DataGridView コントロールに表示する例を次に示します。

Private Sub MakeDataTableAndDisplay()
   ' Create new DataTable.
   Dim table As DataTable = New
 DataTable("table")

   ' Declare DataColumn and DataRow variables.
   Dim column As DataColumn
   Dim row As DataRow

   ' Create new DataColumn, set DataType, 
   ' ColumnName and add to DataTable.    
   column = New DataColumn
   column.DataType = System.Type.GetType("System.Int32")
   column.ColumnName = "id"
   table.Columns.Add(column)

   ' Create second column.
   column = New DataColumn
   column.DataType = Type.GetType("System.String")
   column.ColumnName = "item"
   table.Columns.Add(column)

   ' Create new DataRow objects and add to DataTable.    
   Dim i As Integer
   For i = 0 To 10
      row = table.NewRow
      row("id") = i
      row("item") = "item "
 & i
      table.Rows.Add(row)
   Next i

   ' Set to DataGrid.DataSource property to the table.
   DataGrid1.DataSource = table
End Sub
private void MakeDataTableAndDisplay()
{
    // Create new DataTable.
    DataTable table = new DataTable("table");

    // Declare DataColumn and DataRow variables.
    DataColumn column;
    DataRow row;
 
    // Create new DataColumn, set DataType, 
    // ColumnName and add to DataTable.    
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.ColumnName = "id";
    table.Columns.Add(column);
 
    // Create second column.
    column = new DataColumn();
    column.DataType = Type.GetType("System.String");
    column.ColumnName = "item";
    table.Columns.Add(column);
 
    // Create new DataRow objects and add to DataTable.    
    for(int i = 0; i < 10; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }
    // Set to DataGrid.DataSource property to the table.
    dataGrid1.DataSource = table;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTable フィールド


プロテクト フィールドプロテクト フィールド

  名前 説明
プロテクト フィールド fInitInProgress  
参照参照

関連項目

DataTable クラス
System.Data 名前空間

その他の技術情報

DataTable の作成と使用

DataTable プロパティ


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

( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ Container  コンポーネントを格納するコンテナを取得します。 ( MarshalByValueComponent から継承されます。)
パブリック プロパティ DesignMode  コンポーネントが現在デザイン モードかどうかを示す値を取得します。 ( MarshalByValueComponent から継承されます。)
パブリック プロパティ TableName DataTable の名前を取得または設定します。
プロテクト プロパティプロテクト プロパティ
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.IListSource.ContainsListCollection このメンバの説明については、ContainsListCollection のトピックを参照してください。
参照参照

関連項目

DataTable クラス
System.Data 名前空間

その他の技術情報

DataTable の作成と使用

DataTable メソッド


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

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AcceptChanges 前回 AcceptChanges を呼び出した以降にこのテーブルに対して行われたすべての変更をコミットします。
パブリック メソッド BeginInit フォームまたは別のコンポーネントで使用する DataTable の初期化を開始します。初期化は実行時に発生します。
パブリック メソッド BeginLoadData データを読み込む間、通知、インデックスの維持、および制約をオフにします。
パブリック メソッド Clear DataTable からすべてのデータを消去します。
パブリック メソッド Clone すべての DataTable スキーマおよび制約を含め DataTable の構造体のクローンを作成します。
パブリック メソッド Compute フィルタ基準を満たしている現在の行で指定した式を計算します。
パブリック メソッド Copy この DataTable の構造体だけでなくデータもコピーします。
パブリック メソッド CreateDataReader この DataTable 内のデータに対応する DataTableReader を返します。
パブリック メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 ( MarshalByValueComponent から継承されます。)
パブリック メソッド EndInit フォームまたは別のコンポーネントで使用する DataTable の初期化を終了します。初期化は実行時に発生します。
パブリック メソッド EndLoadData データを読み込んだ後、通知、インデックスの維持、および制約をオンにします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetChanges オーバーロードされます。 前回 DataTable を読み取るか、AcceptChanges を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを取得します。
パブリック メソッド GetDataTableSchema このメソッドは、Web サービスの DataTable を記述する WSDL を格納している XmlSchemaSet インスタンスを返します。
パブリック メソッド GetErrors エラーが含まれる DataRow オブジェクトの配列を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetObjectData DataTable をシリアル化するために必要なデータをシリアル化情報オブジェクトに設定します。
パブリック メソッド GetService  IServiceProvider を実装しているオブジェクトを取得します。 ( MarshalByValueComponent から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド ImportRow プロパティ設定、元の値、および現在の値を保持し、DataRow を DataTable にコピーします。
パブリック メソッド Load オーバーロードされます。 指定された IDataReader を使用し、DataTable にデータ ソースからの値を設定します。DataTable が既に行を含んでいる場合、データ ソースからの受信データは既存の行にマージされます。
パブリック メソッド LoadDataRow オーバーロードされます。 特定の行を検索し、更新します。一致する行が見つからない場合は、指定した値を使用して新しい行が作成されます。
パブリック メソッド Merge オーバーロードされます。 指定した DataTable を現在の DataTable とマージします。
パブリック メソッド NewRow テーブルと同じスキーマで新しい DataRow を作成します。
パブリック メソッド ReadXml オーバーロードされます。 XML スキーマとデータを DataTable に読み込みます。
パブリック メソッド ReadXmlSchema オーバーロードされます。 XML スキーマを DataTable に読み込みます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RejectChanges このテーブルを読み込むか、前回 AcceptChanges を呼び出した以降にこのテーブルに対して行われたすべての変更をロールバックします。
パブリック メソッド Reset DataTable を元の状態にリセットします。
パブリック メソッド Select オーバーロードされます。 DataRow オブジェクトの配列を取得します。
パブリック メソッド ToString オーバーライドされます。 TableName と DisplayExpression が連結された文字列として存在する場合は、これらを取得します。
パブリック メソッド WriteXml オーバーロードされます。 DataTable の現在の内容を XML として書き込みます。
パブリック メソッド WriteXmlSchema オーバーロードされます。 DataTable の現在のデータ構造体を XML スキーマとして書き込みます。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 ( MarshalByValueComponent から継承されます。)
プロテクト メソッド Finalize  [To be supplied.] ( MarshalByValueComponent から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド NewRowFromBuilder 既存の行から新しい行を作成します。
プロテクト メソッド OnColumnChanged ColumnChanged イベントを発生させます。
プロテクト メソッド OnColumnChanging ColumnChanging イベントを発生させます。
プロテクト メソッド OnPropertyChanging PropertyChanged イベントを発生させます。
プロテクト メソッド OnRemoveColumn DataColumn が削除されることを DataTable に通知します。
プロテクト メソッド OnRowChanged RowChanged イベントを発生させます。
プロテクト メソッド OnRowChanging RowChanging イベントを発生させます。
プロテクト メソッド OnRowDeleted RowDeleted イベントを発生させます。
プロテクト メソッド OnRowDeleting RowDeleting イベントを発生させます。
プロテクト メソッド OnTableCleared TableCleared イベントを発生させます。
プロテクト メソッド OnTableClearing TableClearing イベントを発生させます。
プロテクト メソッド OnTableNewRow TableNewRow イベントを発生させます。
プロテクト メソッド ReadXmlSerializable  
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.IListSource.GetList このメンバの説明については、GetList のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.GetSchema このメンバの説明については、GetSchema のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.ReadXml このメンバの説明については、ReadXml のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.WriteXml このメンバの説明については、WriteXml のトピックを参照してください。
参照参照

関連項目

DataTable クラス
System.Data 名前空間

その他の技術情報

DataTable の作成と使用

DataTable メンバ

インメモリ データのテーブル 1 つを表します。

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


パブリック コンストラクタパブリック コンストラクタ
プロテクト コンストラクタプロテクト コンストラクタ
プロテクト フィールドプロテクト フィールド
  名前 説明
プロテクト フィールド fInitInProgress  
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ Container  コンポーネントを格納するコンテナを取得します。(MarshalByValueComponent から継承されます。)
パブリック プロパティ DesignMode  コンポーネントが現在デザイン モードかどうかを示す値を取得します。(MarshalByValueComponent から継承されます。)
パブリック プロパティ TableName DataTable の名前を取得または設定します。
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AcceptChanges 前回 AcceptChanges を呼び出した以降にこのテーブルに対して行われたすべての変更をコミットします。
パブリック メソッド BeginInit フォームまたは別のコンポーネントで使用する DataTable の初期化を開始します。初期化は実行時に発生します。
パブリック メソッド BeginLoadData データを読み込む間、通知、インデックスの維持、および制約をオフにします。
パブリック メソッド Clear DataTable からすべてのデータを消去します。
パブリック メソッド Clone すべての DataTable スキーマおよび制約を含め DataTable の構造体のクローンを作成します。
パブリック メソッド Compute フィルタ基準を満たしている現在の行で指定した式を計算します。
パブリック メソッド Copy この DataTable の構造体だけでなくデータもコピーします。
パブリック メソッド CreateDataReader この DataTable 内のデータに対応する DataTableReader を返します。
パブリック メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 (MarshalByValueComponent から継承されます。)
パブリック メソッド EndInit フォームまたは別のコンポーネントで使用する DataTable の初期化を終了します。初期化は実行時に発生します。
パブリック メソッド EndLoadData データを読み込んだ後、通知、インデックスの維持、および制約をオンにします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetChanges オーバーロードされます。 前回 DataTable を読み取るか、AcceptChanges を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを取得します。
パブリック メソッド GetDataTableSchema このメソッドは、Web サービスの DataTable を記述する WSDL を格納している XmlSchemaSet インスタンスを返します。
パブリック メソッド GetErrors エラーが含まれる DataRow オブジェクトの配列を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetObjectData DataTable をシリアル化するために必要なデータをシリアル化情報オブジェクトに設定します。
パブリック メソッド GetService  IServiceProvider を実装しているオブジェクトを取得します。 (MarshalByValueComponent から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド ImportRow プロパティ設定、元の値、および現在の値を保持し、DataRow を DataTable にコピーします。
パブリック メソッド Load オーバーロードされます。 指定された IDataReader を使用し、DataTable にデータ ソースからの値を設定します。DataTable が既に行を含んでいる場合、データ ソースからの受信データは既存の行にマージされます。
パブリック メソッド LoadDataRow オーバーロードされます。 特定の行を検索し、更新します。一致する行が見つからない場合は、指定した値を使用して新しい行が作成されます。
パブリック メソッド Merge オーバーロードされます。 指定した DataTable を現在の DataTable とマージします。
パブリック メソッド NewRow テーブルと同じスキーマで新しい DataRow を作成します。
パブリック メソッド ReadXml オーバーロードされます。 XML スキーマとデータを DataTable に読み込みます。
パブリック メソッド ReadXmlSchema オーバーロードされます。 XML スキーマを DataTable に読み込みます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RejectChanges このテーブルを読み込むか、前回 AcceptChanges を呼び出した以降にこのテーブルに対して行われたすべての変更をロールバックします。
パブリック メソッド Reset DataTable を元の状態にリセットします。
パブリック メソッド Select オーバーロードされます。 DataRow オブジェクトの配列を取得します。
パブリック メソッド ToString オーバーライドされます。 TableName と DisplayExpression が連結された文字列として存在する場合は、これらを取得します。
パブリック メソッド WriteXml オーバーロードされます。 DataTable の現在の内容を XML として書き込みます。
パブリック メソッド WriteXmlSchema オーバーロードされます。 DataTable の現在のデータ構造体を XML スキーマとして書き込みます。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Dispose  オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 (MarshalByValueComponent から継承されます。)
プロテクト メソッド Finalize  [To be supplied.] (MarshalByValueComponent から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド NewRowFromBuilder 既存の行から新しい行を作成します。
プロテクト メソッド OnColumnChanged ColumnChanged イベントを発生させます。
プロテクト メソッド OnColumnChanging ColumnChanging イベントを発生させます。
プロテクト メソッド OnPropertyChanging PropertyChanged イベントを発生させます。
プロテクト メソッド OnRemoveColumn DataColumn が削除されることを DataTable に通知します。
プロテクト メソッド OnRowChanged RowChanged イベントを発生させます。
プロテクト メソッド OnRowChanging RowChanging イベントを発生させます。
プロテクト メソッド OnRowDeleted RowDeleted イベントを発生させます。
プロテクト メソッド OnRowDeleting RowDeleting イベントを発生させます。
プロテクト メソッド OnTableCleared TableCleared イベントを発生させます。
プロテクト メソッド OnTableClearing TableClearing イベントを発生させます。
プロテクト メソッド OnTableNewRow TableNewRow イベントを発生させます。
プロテクト メソッド ReadXmlSerializable  
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント ColumnChanged DataRow 内の指定した DataColumn の値が変更された後に発生します。
パブリック イベント ColumnChanging DataRow 内の指定した DataColumn の値が変更されているときに発生します。
パブリック イベント Disposed  コンポーネントの Disposed イベントを待機するイベント ハンドラを追加します。(MarshalByValueComponent から継承されます。)
パブリック イベント Initialized DataTable が初期化された後に発生します。
パブリック イベント RowChanged DataRow が正常に変更された後に発生します。
パブリック イベント RowChanging DataRow が変更されているときに発生します。
パブリック イベント RowDeleted テーブル内の行が削除された後に発生します。
パブリック イベント RowDeleting テーブル内の行が削除される直前に発生します。
パブリック イベント TableCleared DataTable が消去された後に発生します。
パブリック イベント TableClearing DataTable が削除されたときに発生します。
パブリック イベント TableNewRow 新しい DataRow が挿入されると発生します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.IListSource.GetList このメンバの説明については、GetList のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.GetSchema このメンバの説明については、GetSchema のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.ReadXml このメンバの説明については、ReadXml のトピックを参照してください。
インターフェイスの明示的な実装 System.Xml.Serialization.IXmlSerializable.WriteXml このメンバの説明については、WriteXml のトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.IListSource.ContainsListCollection このメンバの説明については、ContainsListCollection のトピックを参照してください。
参照参照

関連項目

DataTable クラス
System.Data 名前空間

その他の技術情報

DataTable の作成と使用



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「DataTable」の関連用語

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

   

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



DataTableのページの著作権

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

©2026 GRAS Group, Inc.RSS