Amazonでお得な買い物

【C#】猿でもわかるDataSetの基本的な使い方

C# DataSet データセット

C#でよく使うDataSet(データセット)について解説していきます。

目次
スポンサーリンク

DataSet(データセット)って何?

DataSetはデータベース操作で使うC#のクラスになります。

データベースに格納しているデータを取り出して、メモリ領域に格納することが可能です。

図のようにDataTableは2次元配列を格納しているイメージで、DataTableのまとまりをDataSetと呼ぶわけです。

DataSetの構造
DataSetの構造

DataSet(データセット)を使ってみよう

それでは、DataSetの使い方に移っていきます。

実際に、DataSetを作成してデータを格納してから参照するまでをやっていきます。

DataSetを作成してデータを格納する

サンプルコード

// --------------DataSetを作成していく--------------
// DataSetを定義
DataSet apple = new DataSet();

// DataTableを定義
DataTable products = new DataTable("Products");

// DataColumnを型指定して定義
DataColumn name = new DataColumn("Name", typeof(string));
products.Columns.Add(name);
DataColumn price = new DataColumn("Price", typeof(int));
products.Columns.Add(price);

// DataTableをDataSetに追加
apple.Tables.Add(products);

// DataRowを作成
DataRow product1 = products.NewRow();
product1["Name"] = "iPhone";
product1["Price"] = "80000";

DataRow product2 = products.NewRow();
product2["Name"] = "Macbook Air";
product2["Price"] = "130000";

// DataTableへの挿入
products.Rows.Add(product1);
products.Rows.Add(product2);

DataRowの中身をインデックスで指定する場合は以下のようにします。

// DataRowをインデックスで作成
DataRow product1 = products.NewRow();
product1[0] = "iPhone";
product1[1] = "80000";

DataRow product2 = products.NewRow();
product2[0] = "Macbook Air";
product2[1] = "130000";

DataSetのデータを参照する

サンプルコード

// --------------DataSetを参照していく--------------
// レコードの値をカラム名で取得
DataRow dr = apple.Tables["Products"].Rows[0];
Console.WriteLine($"{name}:{dr[name]} " +
                  $"{price}:{dr[price]} ");
dr = apple.Tables["Products"].Rows[1];
Console.WriteLine($"{name}:{dr[name]} " +
                  $"{price}:{dr[price]} ");

Console.ReadLine();

実行結果

Name:iPhone Price:80000
Name:Macbook Air Price:130000

DataRowの中身をインデックスで取得する場合は以下のようにします。

// --------------DataSetを参照していく--------------
// レコードの値をカラム名で取得
DataRow dr = apple.Tables[0].Rows[0];
Console.WriteLine($"{name}:{dr[name]} " +
                  $"{price}:{dr[price]} ");
dr = apple.Tables[0].Rows[1];
Console.WriteLine($"{name}:{dr[name]} " +
                  $"{price}:{dr[price]} ");

Console.ReadLine();

実行結果

Name:iPhone Price:80000
Name:Macbook Air Price:130000

LINQを使ってDataSetにアクセスするには?

Visual Studioのデータセットデザイナーを使えば、LINQを使ってDataSetにアクセスすることができます。

詳しくは以下の記事を参照ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

都内の精密機器を作っている会社に勤務している14年目のエンジニアです。趣味は美味しいものを食べることとゴルフ。プログラムについて今まで学んだことをわかりやすく発信するサイトを目指しています。

コメント

コメントする

目次