データベース千夜一夜第15回

プログラミングとSQL(3)
~フィールドの更新とレコードの追加処理
長谷川裕行
有限会社 手國堂

今回は、フィールドの更新とレコードの追加処理を紹介します。SQLの構文自体はこれまでに説明したように、そう難しいものではありません。また、ADOなどのデータオブジェクトの扱いも、パターンを覚えてしまえば簡単です。

ただ、SQLはソースコード上で文字列として扱われるため、記述を間違えても処理系の文法チェックに引っかからない──という点に注意が必要です。SQLの間違いはプログラミング言語の処理系ではなくデータベースエンジンの側で発生し、それがデータオブジェクトを通じてアプリケーションにフィードバックされ、実行時エラーとして処理されます。

削除処理では単純にレコードを指定するだけでしたが、更新と追加ではフィールドの値や並び順などを正しく記述しなければなりません。柔軟な処理を行うためには、変数の値などを組み合わせてSQL文字列を生成することになります。記述を間違えると、一見うまく出来上がったように見えて、実行時にとんでもない動きをする場合があります。


サンプル・データベースとサンプル・アプリケーションの扱いについて
第9回以降、新しいサンプル・データベースを使っているのでご注意ください。新しいサンプル・データベースの登録方法については、第9回の記事から「新しいサンプルデータベースの準備」の項をお読みください。

今回も、VB .NETによるサンプル・アプリケーションを作成します。プロジェクトファイルをダウンロードし、任意のフォルダに解凍してください。サンプルのプロジェクトは“ex01”と“ex02”という名前のフォルダに保存されます。

ソースコードを入力して実際にプログラミングを試す場合は、パソコンにVisual Studio .NETがインストールされている必要があります。

Visual Studio .NETでプロジェクト(ex01.sln)を開いてもフォームデザインやソースコードが表示されない場合は、「ソリューション エクスプローラ」で“Form1.vb”をダブルクリックしてください。フォームデザインが表示されます。この状態でフォームをダブルクリックすればソースコードが表示されます。

出来上がった実行形式ファイルを試すだけの場合は、拡張子.exeのファイル(ex01.exeとex02.exe)をダブルクリックしてください。なお、サンプルを実行するにはパソコンに .NET Frameworkがインストールされていなければなりません。

また、SQL Serverはローカルで稼働していることを前提にしています。環境が異なる場合は、ソースコードの該当箇所(ConnectionStringに与える接続文字列)を適宜書き換えてください。


- 目次 -
フィールドの更新処理(1)~SQLとアプリの仕様
更新と削除はほぼ共通
単価の改定処理
更新処理のSQLは複雑
フィールドの更新処理(2)~ソースコードの記述
対象レコードはグローバル変数に
ExecuteNonQueryメソッドを実行
実行結果を確認する
レコードの追加処理(1)~SQLとアプリの仕様
追加処理のインターフェイス
アプリケーションの仕様
レコードの追加処理(2)~商品IDの重複検査
グローバル変数の宣言
基本は検索処理
フラグの値で判断する
レコードの追加処理(3)~仕入先名の表示
基本は検索処理
SQLも基本形で
抽出結果を表示
レコードの追加処理(4)~実際の追加処理
SQLの記述に注意
重複検査の結果をチェック
SQLを実行
実行結果を確認する
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役  http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.