CDatabase::SetQueryTimeout

更新 : 2007 年 11 月

データ ソースに接続した後、そのデータ ソースに対して実行される操作がタイム アウトになる秒数の既定値をオーバーライドします。

void SetQueryTimeout(
   DWORD dwSeconds 
);

パラメータ

  • dwSeconds
    クエリがタイムアウトになる秒数。

解説

ネットワークへのアクセスに問題があったり、クエリの処理に時間がかかり過ぎたりすることが原因で、操作がタイムアウトになる場合があります。クエリでのタイムアウト値を変更するには、レコードセットを開く前、またはレコードセットの AddNewUpdate、または Delete メンバ関数を呼び出す前に、SetQueryTimeout を呼び出します。この設定は、この CDatabase オブジェクトに関連付けられているレコードセットに対する、その後のすべての OpenAddNewUpdate、および Delete の呼び出しに影響します。レコードセットを開いた後にクエリのタイムアウト値を変更しても、レコードセットには変更後の値が適用されません。たとえば、値を変更してから Move 操作を実行しても、新しい値は使用されません。

クエリ タイムアウトの既定値は 15 秒です。すべてのデータ ソースでクエリ タイムアウト値を設定できるわけではありません。クエリ タイムアウト値に 0 を設定すると、クエリがタイムアウトにならないため、データ ソースとの通信がハングアップすることがあります。この動作は、開発時には有用です。タイムアウト値の指定をサポートしていないデータベースの場合、トレースが出力されますが、例外は発生しません。

必要条件

ヘッダー : afxdb.h

参照

参照

CDatabase クラス

階層図

CDatabase::SetLoginTimeout

その他の技術情報

CDatabase のメンバ