アドレス帳アプリケーションには、次のコマンド ボタンが含まれています。
データベースにクエリを送信するための [検索] ボタン。
新しい検索を開始する前にテキスト ボックスをクリアするための [クリア] ボタン。
プロファイルの更新 ボタンで従業員レコードの変更を保存します。
[変更を取り消す] ボタンで変更を破棄します。
大事な
Windows 8 および Windows Server 2012 以降では、RDS サーバー コンポーネントは Windows オペレーティング システムに含まれません (詳細については、Windows 8 と Windows Server 2012 の互換性クックブック を参照してください)。 RDS クライアント コンポーネントは、将来のバージョンの Windows で削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 RDS を使用するアプリケーションは、WCF Data Serviceに移行する必要があります。
[検索] ボタン
[検索] ボタンをクリックすると、SQL クエリをビルドして送信する VBScript Find_OnClick Sub プロシージャがアクティブになります。 このボタンをクリックすると、データ グリッドが設定されます。
SQL クエリの作成
Find_OnClick Sub プロシージャの最初の部分では、グローバル SQL SELECT ステートメントにテキスト文字列を追加することで、一度に 1 つのフレーズで SQL クエリを作成します。 まず、データ ソース テーブルからすべてのデータ行を要求する SQL SELECT ステートメントに変数 myQuery を設定します。 次に、Sub プロシージャは、ページ上の 4 つの入力ボックスをそれぞれスキャンします。
プログラムは SQL ステートメントの構築に like という単語を使用するため、クエリは完全一致ではなく部分文字列検索です。
たとえば、姓 ボックスにエントリ "Berge" が含まれており、Title ボックスに "Program Manager" というエントリが含まれている場合、SQL ステートメント (myQueryの値) は次のように読み取られます。
Select FirstName, LastName, Title, Email, Building, Room, Phone from Employee where lastname like 'Berge%' and title like 'Program Manager%'
クエリが成功した場合は、"Berge" というテキストを含む姓 (Berge や Berge など) を持ち、"Program Manager" (Program Manager、Advanced Technologies など) を含むタイトルを持つすべてのユーザーが HTML データ グリッドに表示されます。
クエリの準備と送信
Find_OnClick Sub プロシージャの最後の部分は、2 つのステートメントで構成されます。 最初のステートメントは、RDS の SQL プロパティを割り当てます。DataControl 動的に構築された SQL クエリと等しいオブジェクトです。 2 番目のステートメントにより、RDS が発生します。DataControl オブジェクト (DC1) を使用してデータベースにクエリを実行し、クエリの新しい結果をグリッドに表示します。
Sub Find_OnClick
'...
DC1.SQL = myQuery
DC1.Refresh
End Sub
[プロファイルの更新] ボタン
[更新プロファイル] ボタンをクリックすると、VBScript の Update_OnClick Sub プロシージャがアクティブ化され、RDS.DataControl オブジェクト (DC1) の SubmitChanges メソッドと Refresh メソッドが実行されます。
Sub Update_OnClick
DC1.SubmitChanges
DC1.Refresh
End Sub
DC1.SubmitChanges 実行すると、リモート データ サービスはすべての更新情報をパッケージ化し、HTTP 経由でサーバーに送信します。 更新プログラムは、すべてまたは何もありません。更新の一部が失敗した場合、変更は行われなかったり、ステータス メッセージが返されたりします。 リモート データ サービスで SubmitChanges DC1.Refresh を使用した後に は必要ありませんが、最新のデータを保証するために役立ちます。
[変更の取り消し] ボタン
キャンセルの変更 をクリックすると、VBScript の Cancel_OnClick Sub プロシージャがアクティブになり、RDS.DataControl オブジェクトの (DC1)CancelUpdate メソッドが実行されます。
Sub Cancel_OnClick
DC1.CancelUpdate
End Sub
DC1.CancelUpdate 実行すると、前回のクエリまたは更新以降にユーザーがデータ グリッド上の従業員レコードに対して行った編集はすべて破棄されます。 元の値が復元されます。