フォームは、先に紹介した画面1のようなデザインとします。各コントロールの名前(Nameプロパティの値)は図2のとおりです。
- サンプルのためのデザイン -
こういったシステムの画面デザインには、いく通りかのパターンがあります。ユーザーがキーボードからデータを入力するタイプ――比較的件数の少ない作業――では、顧客の特定と販売情報の入力とを、異なるウィンドウに分けてデザインする場合が多いでしょう。顧客を特定したら受注情報を入力するウィンドウが開く……といった形です。
一方、通信販売や商品の卸業など取り扱い件数の多い業務では、OCR式の注文用紙やXMLによる一括処理が中心となるため、ウィンドウに表示される情報は単なる確認用となります。あるいは、ウィンドウを用いず、すべて内部のバッチ処理とする場合もあります。
今回のサンプルは、両者の折衷的なインターフェイスとしてあります。お客様IDや商品IDの入力ミスや入力取り消しは基本的に発生しないものとし、細かなエラー処理は省略しました。この部分は一括処理を前提としています。
しかし、入力結果が見えなくてはサンプルの意味がないので、入力はキーボードから行い、その結果を画面に表示するようにしています。
- データベース制御はすべてソースコードで -
今回作成するサンプルは、これまでのものに比べるとやや大がかりになります。アプリケーションからSQLを扱う実例を見ていただくことが目的なので、プログラミング言語や開発環境(Visual Basic .NETと使用するコンポーネント)の細かな扱いについては省略し、アプリケーションの仕様に沿って先頭から順にソースコードの説明をしていきます。
SELECTやINSERTなどのSQL構文については既に解説済みなので、詳しくは触れません。ソースコード中でのSQLの扱いやADO.NETによるデータベース操作を確認してください。
なお、冒頭で触れたようにコントロールを貼り付ければソースはもっとシンプルになります。しかし、サンプルではデータベースの制御をすべてソースコードで記述しているため、冗長になっています。ソースをよく見れば、似たような(あるいは、ほとんど同じ)コードが重複していることに気付かれるでしょう。本来なら、これらは1つの下請けプロシージャに括ってしまった方が合理的です。
しかし、そうするとさらにソースの複雑さが増すため、敢えて同じコード(データベース制御関係)を繰り返しています。ご了承ください。
では、ソースを順に見ながら解説していきましょう。
|
|
|