連載:VB 6ユーザーのための
|
|
|
■DataGridViewコントロールを配置する
データソースが指定できたら、次はデータを表示したり変更したりするために使うコントロールを配置する。コントロールを配置して、そのデータソースを指定するという従来の手順でもできるが、ここでも、従来とは逆にデータソースの方から攻めていこう。
メニューから[データ]−[データソースの表示]を選ぶと、図6のようにデータソースの内容がツリー構造で表示される。今度は、その中にあるテーブルをフォーム上にドラッグ&ドロップしよう。
図6 テーブルをフォーム上にドラッグ&ドロップする |
メニューから[データ]−[データソースの表示]を選んでデータソースの一覧を表示し、テーブルをフォーム上にドラッグ&ドロップする。なんと、これだけで……どうなるかは図7のお楽しみ。 |
特に何も指定しなければ、テーブルをフォームにドラッグ&ドロップするだけでDataGridViewコントロールが自動的に配置され、そのDataSourceプロパティが自動的に設定される。またウィンドウ上部にはBindingNavigatorコントロールも作成される。図7の下の方を見れば分かるように、データベースを操作するための各種のコンポーネント*も自動的に追加される。
* ユーザー・インターフェイスを持たない部品は通常「コンポーネント」と呼ばれる。コンポーネントをフォームに配置した場合には、コンポーネントはフォーム・デザイナ下部に並ぶ。BindingNavigatorコントロールは少し特別で、フォーム上に配置されるとともに、フォーム・デザイナ下部にもアイコンが表示される。 |
それぞれのコントロールがどのような働きをするのかを一度に理解するのは難しいので、ここでは名前と簡単な説明だけを示しておいた。データベースやレコードを操作するメソッドを見れば、おのずとそれらの働きが分かってくるので、必要に応じて少しずつ身に付けていくといいだろう。
取りあえず、いまのところはユーザーに最も近いBindingNavigatorコントロールにまず注目しよう。フォームの上の方にツールバーとして表示されているので、ひと目見ただけで働きが分かると思うが、データベースの基本的な操作に必要なユーザー・インターフェイスが提供されている。従って、これですでにプログラムは出来上がっている。[デバッグ開始]ボタンをクリックし、プログラムを実行すると、最初に見た図2のようなウィンドウが表示され、データベースの内容を表示したり、レコードの追加や削除をしたりできる。
なお、ドラッグ&ドロップでプロジェクトに追加したデータベースは、プロジェクトのフォルダにコピーされるが、[デバッグの開始]ボタンをクリックしてプログラムを実行したときには、プロジェクトのDebugフォルダにコピーされたデータベースが使われる。項目の内容を変更したり、レコードを追加したりしたはずなのに、元のデータベースが更新されていないと悩む人も多いと思われる。気を付けよう(実は、私もちょっと悩んだ)。
■自動的に追加されたコードを見ておく
さて、これでデータベースの基本的な操作をするプログラムができたわけだが、これまでコードは1行も書いていない。しかし、自動的に追加されたコードがいくつかあるので、それらを見ながら少しずつ理解を深めていこう。
コード・ウィンドウを表示すると、以下のようなコードが追加されていることが分かる。ただし、分かりやすいようにプロシージャの順序は入れ替えてある。
|
||||||||||||
自動的に追加されたコード | ||||||||||||
ここで動作内容を確認しておこう。
|
この動作を分かりやすく、かつ正確に図で表すのは難しいが、イメージとしては図8のような感じになるだろう。DataSetコンポーネント(=データセット)はデータベースの内容をメモリ上に展開しており、BindingSourceコンポーネントはDateSetコンポーネントとフォーム上のコントロールを連結するのに使われる。
図8 データベースを利用するためのコントロール/コンポーネントの働き | |||||||||
実線の矢印はデータの流れを表し、破線の矢印は制御を表す。
|
INDEX | ||
連載:VB 6ユーザーのためのこれならマスターできるVB 2005超入門 | ||
第5回 データベースはじめの一歩 | ||
1.ユーザビリティ小考 〜 前回の反省から | ||
2.サンプル・プログラム5 − コードなしのデータベース検索プログラム | ||
3.DataGridViewコントロールを配置する | ||
4.サンプル・プログラム6 − 検索のためのコードを記述する | ||
「これならマスターできるVB 2005超入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -