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

プログラミングとSQL(2)
~レコードの削除処理
長谷川裕行
有限会社 手國堂

テーブルを操作するSQLには、基本であるSELECT命令の他にDELETE、UPDATE、INSERT命令があります。これらの違いは、SELECTがデータベースの内容を変化させず、処理結果としてレコードセット(行セット)を取得するのに対して、DELETEなどの命令はデータベースの内容を変化させる代わりにレコードセットを受け取らない──という点です。

SELECT命令を使ったSQLでは、DataReaderオブジェクトを介してレコードセットを取得できました。今回は、DELETE命令を例にデータベースの内容を変化させるSQLの実行方法を紹介します。


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

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

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

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

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

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


- 目次 -
SqlConnectionとOleDbConnectionの違い(1)
SqlConnectionとOleDbConnection
OleDbConnectionの利用
WHERE句と仮パラメータ
仮パラメータ設定方法の違い
SqlConnectionとOleDbConnectionの違い(2)
実パラメータの設定
基本構造は変わらない
検索処理のサンプル
パラメータ配列の追加
テーブルを書き換えるSQLの実行
ExecuteNonQueryメソッド
ExecuteNonQueryの引数と戻り値
テスト用テーブルの準備
サンプルアプリケーションの仕様
テーブルの保守処理
検索と削除の二重構造
フォームのデザイン
サンプルアプリケーションの作成
グローバル変数で情報を受け渡す
商品検索処理
検索の下請け処理
レコードの削除処理
変数とフォームの初期化
サンプルの実行結果
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役  http://www.hirop.com/

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

Copyright © MESCIUS inc. All rights reserved.