C#でよく使うDataSet(データセット)について解説していきます。
目次
スポンサーリンク
DataSet(データセット)って何?
DataSet
はデータベース操作で使うC#のクラスになります。
データベースに格納しているデータを取り出して、メモリ領域に格納することが可能です。
図のようにDataTable
は2次元配列を格納しているイメージで、DataTable
のまとまりを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
にアクセスすることができます。
詳しくは以下の記事を参照ください。
【C#】VisualStudioでデータセットデザイナーを使ってDataSetを登録しLINQでアクセスする方法
前回はDataSetの基本について解説しました。 今回はVisual Studioのデータセットデザイナーを使ってDataSetを登録し、LINQでアクセスする方法を解説していきます。 デー…
コメント