DataControl オブジェクト (RDS)

               

データ クエリ Recordset を 1 つ以上のコントロール (テキスト ボックス、グリッド コントロール、コンボ ボックスなど) にバインドして、Web ページに Recordset データを表示します。

構文

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DataControl" HEIGHT=1 WIDTH = 1>
    <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=usr;PWD=pw;">
    <PARAM NAME="Server" VALUE="http://awebsrvr">
    <PARAM NAME="SQL" VALUE="QueryText">
</OBJECT>

解説

RDS.DataControl オブジェクトのクラス ID は、BD96C556-65A3-11D0-983A-00C04FC29E33 です。

注意   RDS.DataSpace オブジェクトまたは RDS.DataControl オブジェクトの読み取り不能エラーが発生した場合は、クラス ID が正しいかどうか確認してください。これらのオブジェクトのクラス ID は、Version 1.0 および 1.1 から変更されています。

基本的には、設定する必要があるのは RDS.DataControl オブジェクトの SQL プロパティ、Connect プロパティ、および Server プロパティのみです。これらの設定により、既定のビジネス オブジェクトである RDSServer.DataFactory が自動的に呼び出されます。

カスタム ビジネス オブジェクトで機能を代用できるので、RDS.DataControl のすべてのプロパティは省略可能です。

注意   複数の結果を求めるクエリを実行すると、最初の Recordset のみが返されます。複数の結果セットが必要な場合は、それぞれに独自の DataControl を割り当ててください。複数の結果を求めるクエリの例を次に示します。

"Select * from Authors, Select * from Topics"

RDS.DataControl オブジェクトの使用時に、接続文字列に "DFMode=20;" を追加すると、データ更新時のサーバーのパフォーマンスを向上させることができます。この設定の場合、サーバーの RDSServer.DataFactory オブジェクトの実行モードはリソースに負担の少ないモードになります。ただし、この設定では次の操作ができなくなります。

既定では、RDS.DataControl オブジェクトは非同期モードで実行します。アプリケーションを同期モードで実行する必要がある場合は、次の例のように、ExecuteOptions パラメータは adcExecSync に、FetchOptions パラメータは adcFetchUpFront に設定してください。

<SCRIPT LANGUAGE=VBSCRIPT>
Const adcExecSync = 1
Const adcFetchUpFront = 1
?
</SCRIPT>
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" 
    ID="DataControl" HEIGHT=1 WIDTH = 1>
   <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=usr;PWD=pw;">
   <PARAM NAME="Server" VALUE="http://awebsrvr">
   <PARAM NAME="SQL" VALUE="QueryText">
   <PARAM NAME="ExecuteOptions" VALUE="adcExecSync">
   <PARAM NAME="FetchOptions" VALUE="adcFetchUpFront">
</OBJECT>

1 つのクエリの結果を 1 つ以上のビジュアル コントロールにリンクするには、1 つの RDS.DataControl オブジェクトを使います。たとえば、"氏名"、"住所"、"本籍地"、"年齢"、"役職" などの顧客データを要求するクエリを記述するとします。この場合、1 つの RDS.DataControl オブジェクトを使って、顧客の氏名、年齢、および住所を 3 つの別々のテキスト ボックスに、役職をチェック ボックスに、そしてすべてのデータをグリッド コントロールに表示させることができます。

複数のクエリの結果を異なるビジュアル コントロールとリンクするには、別々の RDS.DataControl オブジェクトを使います。たとえば、1 つのクエリを顧客の情報の取得に使い、2 つ目のクエリを顧客が購入した商品の情報の取得に使うとします。この場合、最初のクエリの結果を 3 つのテキスト ボックスと 1 つのチェック ボックスに、2 番目のクエリの結果をグリッド コントロールに表示できます。既定のビジネス オブジェクト (RDSServer.DataFactory) を使う場合は、次の操作を行う必要があります。

1 つの Web ページに OBJECT タグで埋め込むことのできる RDS.DataControl オブジェクトの数に制限はありません。

Web ページに RDS.DataControl オブジェクトを定義する場合は、余分な空白ができることを避けるため、1 などの 0 以外の値を Height 値と Width 値に使います。

RDS クライアント コンポーネントは、Internet Explorer 4.0 に組み込まれています。したがって、RDS.DataControl オブジェクト タグに CODEBASE パラメータを指定する必要はありません。

Internet Explorer 4.0 以降では、アパートメント モデル コントロールとしてマークされている場合にのみ、HTML コントロールおよび ActiveX® コントロールを使ってデータとバインドできます。

Microsoft Visual Basic ユーザーの方へ   RDS.DataControl オブジェクトは、Web ベースのアプリケーションにのみ利用します。Visual Basic クライアント アプリケーションには必要ありません。