.net column

.NET開発者のためのブログメディア
表

【C#でADO.NETを動かす】DataSetとDataTableの操作方法

2019年12月13日

C#において、データベースなどから取得したデータをメモリ領域へ格納するのに必要なのがDataSetです。DataSetではテーブルを複数保持することができます。この複数保持できるテーブルひとつひとつがDataTableということになります。ここではDataTableの活用方法をメインに紹介します。

SE
なんだか「Data」って単語がいっぱい出てきてややこしいですよね……
PL
そうですね。DataSetの中にDataTableがあり、DataTableの中にDataRowとDataColumnがあります。イメージ的にはエクセルに例えるとわかりやすいかもしれません。DataSetがエクセルのブックにあたります。DataTableがその中にある各シートで、DataRowがシートの行、DataColumnがシートの列にそれぞれあたります。まずはこのイメージだけでもバッチリ掴むことでコーディングに入りやすいかもしれません。

DataSetとDataTableを作成する方法

エクセルでは、初期状態でシートが準備されていますが、DataSetでは シートにあたるDataTableは最初から準備されていないので、まずはDataTableを準備します。また、DataTableを作成後、列と行にあたるDataRowとDataColumnもあわせて作成する必要があります。ここまで準備できてはじめてSQL Serverなどから取得したデータをDataTableに設定することができます。

  1. DataSetを作成(エクセルのブックのイメージ)

  2. DataTableを作成(エクセルのシートのイメージ)

    すると、以下のようにDataTableが作成されます。

    DataTable作成

  3. DataColumnを作成(エクセルの列のイメージ)

    すると、以下のようにDataColumnが作成されます。

    DataColumn作成

  4. DataRowを作成(エクセルの行のイメージ)

    すると、以下のようにDataRowが作成されます。

    DataRow作成

DataTableにデータを追加する方法

DataTableにデータを追加するサンプルソースです。

実行結果は以下のような表となります。
[Table1]

商品番号 商品名 価格
001 野菜 100
002 果物 200
003 お菓子 300
SE
エクセルにあてはめるとわかりやすいですね。まずはイメージを掴むことからチャレンジしてみます。
PL
そうですね。イメージを掴むことってとても大事ですよ。データをテーブルで保持して、その保持されているデータをループで回しながら編集するというロジックは、プログラミング言語が変わっても必ずといっていいほど出てきます。現場ですぐにコーディングできるように、今のうちから考え方だけでも自分のものにしておきましょう。

DataSetだけではデータは格納できません

DataSetはデータを格納するための入れ物ですが、DataSetだけではデータを格納することはできません。その中には必ずDataTableが必要ですし、DataColumnもDataRowもそれぞれ必要です。これら4つをワンセットとして覚えておきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)