アドレス帳のコマンド ボタン
アドレス帳アプリケーションには、次のコマンド ボタンが含まれています。
データベースにクエリを送信するための [検索] ボタン。
新しい検索を開始する前にテキスト ボックスをクリアするための [クリア] ボタン。
プロファイルの更新 ボタンで従業員レコードの変更を保存します。
[変更を取り消す] ボタンで変更を破棄します。
大事な
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
実行すると、前回のクエリまたは更新以降にユーザーがデータ グリッド上の従業員レコードに対して行った編集はすべて破棄されます。 元の値が復元されます。