次の方法で共有


CDatabase::OnSetOptions

更新 : 2007 年 11 月

ExecuteSQL メンバ関数を使用して SQL ステートメントを直接実行しているときに、フレームワークによって呼び出されます。

virtual void OnSetOptions(
   HSTMT hstmt 
);

パラメータ

  • hstmt
    オプションが設定されている ODBC ステートメント ハンドル。

解説

CRecordset::OnSetOptions も、このメンバ関数を呼び出します。

OnSetOptions は、ログイン タイムアウト値を設定します。SetQueryTimeout とメンバ関数を前に呼び出している場合、OnSetOptions は現在の値を反映して値を設定します。それ以外の場合は、既定値を設定します。

96kxds24.alert_note(ja-jp,VS.90).gifメモ :

MFC 4.2 より前のバージョンでは、OnSetOptions は、処理モードも同期または非同期のいずれかに設定していました。MFC 4.2 以降のバージョンでは、すべての操作が同期モードで処理されます。非同期モードで操作を実行するには、ODBC API 関数の SQLSetPos を直接呼び出す必要があります。

タイムアウト値を変更する場合、OnSetOptions をオーバーライドする必要はありません。代わりに、レコードセットを作成する前に SetQueryTimeout を呼び出し、クエリのタイムアウト値をカスタマイズします。OnSetOptions は、新しく設定された値を使用します。この設定値は、すべてのレコードセットに対するその後の操作や、SQL の直接呼び出しに影響します。

追加のオプションを設定する場合は、OnSetOptions をオーバーライドします。オーバーライドする場合は、ODBC API 関数 SQLSetStmtOption を呼び出す前または後に、基本クラス OnSetOptions を呼び出す必要があります。フレームワークによる既定の OnSetOptions の実装方法に従ってください。

必要条件

ヘッダー : afxdb.h

参照

参照

CDatabase クラス

階層図

CDatabase::ExecuteSQL

CDatabase::SetQueryTimeout

CRecordset::OnSetOptions

その他の技術情報

CDatabase のメンバ