JAVA Scriptを使用すると、データベースの中のデータを検索することができます。ここでは、データベースの中から指定した商品の詳細情報を検索して表示する方法について考えてみましょう。
商品名を入力するテキスト領域と検索を実行するボタンをページに配置し、実行ボタンがクリックされると、検索を行う関数を呼び出すようにします。
<INPUT ID="NextData" TYPE="button" VALUE="次 >" onClick="NextItem()">
<INPUT ID="CheckStock" TYPE="button" VALUE="在庫確認" onClick="CheckStock()">例では、検索する商品名をテキスト領域に入力させるようになっていますが、メニューやオプションボタンを配置して、そこから入力させるようにすることもできます。検索を行うための関数を記述します。
function SearchName(){
ItemList.recordset.movefirst();
do{
if(ItemName.value == ItemList.recordset.Fields("name").value){
break;
}
ItemList.recordset.movenext();
if( ItemList.recordset.EOF ){
ItemList.recordset.movefirst();
alert("見つかりませんでした");
break;
}
} while(1);
}データベースから項目を指定してデータを取り出すには、「Fields」コレクションの「value」プロパティを使用します。「Fields」コレクションでは、例のように調べたい項目を「Fields("zaiko")」のように項目名で指定します。
「Fields」コレクションの「value」プロパティを使用すると、データベース内の特定のデータを参照できます。例では、このプロパティを、データベース内の商品と入力された商品名との比較に利用しています。検索の処理はこの比較を繰り返し(ループ)を用いてデータベースの先頭から末尾に向かって行い、入力された商品と同じ名前の商品があれば繰り返し処理を抜けて商品の詳細情報の表示を行います。
ただし、この処理では、同じ名前の商品が複数存在した場合に、最初に見つかった商品の詳細情報しか表示できないので、同じ名前のない(重複したデータのない)項目を検索の対象にする必要があります。