DataRow クラス
アセンブリ: System.Data (system.data.dll 内)
構文
解説
DataRow オブジェクトと DataColumn オブジェクトは、DataTable の主要コンポーネントです。DataTable 内の値の検索と評価、および値の挿入、削除、更新を実行するには、DataRow オブジェクトおよびこのオブジェクトのプロパティとメソッドを使用します。DataRowCollection は DataTable 内にある実際の DataRow オブジェクトを表します。DataColumnCollection には、DataTable のスキーマを記述する DataColumn オブジェクトが格納されています。DataColumn の値を返す、または設定するには、オーバーロードされた Item プロパティを使用します。
特定の行の値のステータスを確認するには HasVersion プロパティと IsNull プロパティを使用し、親 DataTable に関連して行のステータスを確認するには RowState プロパティを使用します。
新しい DataRow を作成するには、DataTable オブジェクトの NewRow メソッドを使用します。新しい DataRow を作成した後、Add メソッドを使用して、新しい DataRow を DataRowCollection に追加します。最後に、DataTable オブジェクトの AcceptChanges メソッドを呼び出して、データ行の追加を確認します。DataTable へのデータ追加の詳細については、「テーブルへのデータの追加」を参照してください。
DataRowCollection から DataRow を削除するには、DataRowCollection の Remove メソッドを呼び出すか、DataRow オブジェクトの Delete メソッドを呼び出します。Remove メソッドは、コレクションから行を削除します。これに対して、Delete は、DataRow に削除マークを付けます。AcceptChanges メソッドを呼び出すと、実際に削除が実行されます。実際に行を削除する前に Delete を呼び出すと、削除マークが付けられている行をプログラムによって確認できます。詳細については、「テーブルからの行の削除」を参照してください。
DataTable オブジェクトの NewRow メソッドを呼び出して新しい DataRow を作成する例を次に示します。
Private Sub CreateNewDataRow() ' Use the MakeTable function below to create a new table. Dim table As DataTable table = MakeNamesTable() ' Once a table has been created, use the ' NewRow to create a DataRow. Dim row As DataRow row = table.NewRow() ' Then add the new row to the collection. row("fName") = "John" row("lName") = "Smith" table.Rows.Add(row) Dim column As DataColumn For Each column in table.Columns Console.WriteLine(column.ColumnName) Next DataGrid1.DataSource=table End Sub Private Function MakeNamesTable() As DataTable ' Create a new DataTable titled 'Names.' Dim namesTable As DataTable = new DataTable("Names") ' Add three column objects to the table. Dim idColumn As DataColumn = new DataColumn() idColumn.DataType = System.Type.GetType("System.Int32") idColumn.ColumnName = "id" idColumn.AutoIncrement = True namesTable.Columns.Add(idColumn) Dim fNameColumn As DataColumn = New DataColumn() fNameColumn.DataType = System.Type.GetType("System.String") fNameColumn.ColumnName = "Fname" fNameColumn.DefaultValue = "Fname" namesTable.Columns.Add(fNameColumn) Dim lNameColumn As DataColumn = new DataColumn() lNameColumn.DataType = System.Type.GetType("System.String") lNameColumn.ColumnName = "LName" namesTable.Columns.Add(lNameColumn) ' Create an array for DataColumn objects. Dim keys(0) As DataColumn keys(0) = idColumn namesTable.PrimaryKey = keys ' Return the new DataTable. MakeNamesTable = namesTable End Function
private void CreateNewDataRow() { // Use the MakeTable function below to create a new table. DataTable table; table = MakeNamesTable(); // Once a table has been created, use the // NewRow to create a DataRow. DataRow row; row = table.NewRow(); // Then add the new row to the collection. row["fName"] = "John"; row["lName"] = "Smith"; table.Rows.Add(row); foreach(DataColumn column in table.Columns) Console.WriteLine(column.ColumnName); dataGrid1.DataSource=table; } private DataTable MakeNamesTable() { // Create a new DataTable titled 'Names.' DataTable namesTable = new DataTable("Names"); // Add three column objects to the table. DataColumn idColumn = new DataColumn(); idColumn.DataType = System.Type.GetType("System.Int32"); idColumn.ColumnName = "id"; idColumn.AutoIncrement = true; namesTable.Columns.Add(idColumn); DataColumn fNameColumn = new DataColumn(); fNameColumn.DataType = System.Type.GetType("System.String"); fNameColumn.ColumnName = "Fname"; fNameColumn.DefaultValue = "Fname"; namesTable.Columns.Add(fNameColumn); DataColumn lNameColumn = new DataColumn(); lNameColumn.DataType = System.Type.GetType("System.String"); lNameColumn.ColumnName = "LName"; namesTable.Columns.Add(lNameColumn); // Create an array for DataColumn objects. DataColumn [] keys = new DataColumn [1]; keys[0] = idColumn; namesTable.PrimaryKey = keys; // Return the new DataTable. return namesTable; }
System.Data.DataRow
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- DataRow クラスのページへのリンク