前節ではDataSetオブジェクトを扱いました。DataSetオブジェクトの一部として構成されるDataTableオブジェクトをさらに活用する方法を見てみましょう。
| プロパティ名 | 概要 |
|---|---|
| Columns | DataTableオブジェクトを構成する列のコレクションを取得する |
| DataSet | DataTableオブジェクトが所属するDataSetオブジェクトを取得する |
| PrimaryKey | DataTableオブジェクトの主キーとなる列の配列を取得・設定する |
| Rows | DataTableオブジェクトを構成する行のコレクションを取得する |
| TableName | DataTableオブジェクトの名前を取得・設定する |
| メソッド名 | 概要 |
|---|---|
| Clear() | DataTableオブジェクトからすべてのデータを削除する |
| Compute(String, String) | 引数で指定したフィルター基準を満たしている行を、引数で指定した計算をする |
| ImportRow(DataRow) | DataRowオブジェクトをDataTableオブジェクトにコピーする |
| NewRow() | DataTableと同じスキーマで新しいDataRowオブジェクトを生成する |
| ReadXml(String) | XMLファイルを使用してDataTableにスキーマとデータを読み込む |
| ReadXmlSchema(String) | XMLファイルを使用してDataTableにスキーマを読み込む |
| Select() | DataTableオブジェクトからすべてのDataRowオブジェクトの配列を取得する |
| Select(String) | DataTableオブジェクトから引数で指定したフィルター基準を満たしているDataRowオブジェクトの配列を取得する |
| WriteXml(String) | XMLファイルにDataTableのデータを書き込む |
| WriteXmlSchema(String) | XMLファイルにDataTableのスキーマを書き込む |
○ プロジェクト
プロジェクトを作成して確認してみましょう。
| プロジェクトの種類 | コンソール アプリケーション |
|---|---|
| プロジェクト名 | DataTableTest |
○ 作成の準備
「DataSetTest2」プロジェクトを修正して作成しましょう。DataSetTest2フォルダーをコピーして、作成するプロジェクト名にフォルダー名を変更してください。
○ プログラム
Mainメソッドに次のように記述してください。
Program.cs
○ 実行結果
登録されているレコードの件数:4
○ 解説
今回は22行目で、Usersテーブルからすべてのレコードを抽出するSQL文を作成しています。28行目でDataTableオブジェクトを生成しています。そして、31行目でDataAdapterオブジェクトのFillメソッドの引数に指定しています。Fillメソッドはオーバーロードされていて、DataSetオブジェクトやDataTableオブジェクトを引数に指定することができます。
34行目でDataTableオブジェクトに読み込まれているレコードの件数を表示しています。DataTableオブジェクトのRowsプロパティはコレクションです。コレクションのCountプロパティを使っていて格納されている行オブジェクトの数を表示しています。