次の方法で共有


CDatabase::OnSetOptions

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

virtual void OnSetOptions(
   HSTMT hstmt 
);

パラメーター

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

解説

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

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

注意

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 のメンバー