Visual Studioでデータベースを作成
Visual Studioでは「サービスベースのデータベース」というものがあり、ローカルにデータベースを作成できるようです。
今回の記事はデータベースを作成する手順は省略していますが、例えば以下のような商品名や商品の値段がかいてあるデータベースを作りました。
このデータベースの作成自体は手入力ですが、X円以下の商品を検索したりするときにLINQを使うと簡単に目的の商品が見つけらえるようです。
LINQとは
LINQは小難しくてよくわかっていないのですが、foreachのパワーアップ版ととらえておけばよいようです。LINQにはクエリ構文とメソッド構文がありどちらでも好きなほうを選べばよいようですが。メソッド構文を使う場合はラムダ式の理解が必要です。
LINQのクエリ構文にはたくさんの構文があるとは思いますが、おもにつかう4つを覚えておけばいようです。
- from → データを取り出す
- where → 取り出すデータを条件で指定
- orderby → 表示するデータを指定
- select → 抽出時に処理できる
データセットをLINQで扱えるようにする手順
データセットをLINQで扱えるようにするには以下の手順が必要です。
- ツールボックスからdatasetをドラッグ&ドロップして配置
- ツールボックスからBindingSourceをドラッグ&ドロップして配置
- datasetのプロパティでdatasetnameを指定
- BindingSourceのプロパティでDataMemberとDataSourceを指定する
- C#のコードを書く
ツールボックスからdatasetとbindingsourceを配置する
datasetとbindingsoureをツールボックスから選択してFormの下のほうに配置します。
datasetとbindingsourceのプロパティを設定する
datasetプロパティでは作成したdatasetの名前を指定し、bindingsourceプロパティでは作成したdatasetの名前とテーブルを指定しています。
C#のコードを書く
bindingsourceを利用することによってC#でデータセットを扱えるようになります。このアプリケーションはWindowsアプリケーションですので全部コードを書くと量が多くなってしまうのでLINQを使用してデータ抽出するコードを抜粋して書きたいと思います。
var query = from rs in database1DataSet1.Table where rs.Price > 150000 orderby rs.Name select rs; bindingSource1.DataSource = query;
このコードをボタンなどに実装して、コードを実行すると
150000円以上の商品が抽出されました。
まとめ
LINQでデータベースをあつかうにはbindingSourceというツール(Visual Studioのツールボックスにある)を使えばよいみたいです。最初のデータベースの作成は省いていますので、とりとめのない記事になってしまいました。
LINQで目的の商品を検索できるのはすごいですね。エクセルでできそうな気もしますが・・・。
コメント