CDatabase::SetQueryTimeout
更新 : 2007 年 11 月
データ ソースに接続した後、そのデータ ソースに対して実行される操作がタイム アウトになる秒数の既定値をオーバーライドします。
void SetQueryTimeout(
DWORD dwSeconds
);
パラメータ
- dwSeconds
クエリがタイムアウトになる秒数。
解説
ネットワークへのアクセスに問題があったり、クエリの処理に時間がかかり過ぎたりすることが原因で、操作がタイムアウトになる場合があります。クエリでのタイムアウト値を変更するには、レコードセットを開く前、またはレコードセットの AddNew、Update、または Delete メンバ関数を呼び出す前に、SetQueryTimeout を呼び出します。この設定は、この CDatabase オブジェクトに関連付けられているレコードセットに対する、その後のすべての Open、AddNew、Update、および Delete の呼び出しに影響します。レコードセットを開いた後にクエリのタイムアウト値を変更しても、レコードセットには変更後の値が適用されません。たとえば、値を変更してから Move 操作を実行しても、新しい値は使用されません。
クエリ タイムアウトの既定値は 15 秒です。すべてのデータ ソースでクエリ タイムアウト値を設定できるわけではありません。クエリ タイムアウト値に 0 を設定すると、クエリがタイムアウトにならないため、データ ソースとの通信がハングアップすることがあります。この動作は、開発時には有用です。タイムアウト値の指定をサポートしていないデータベースの場合、トレースが出力されますが、例外は発生しません。
必要条件
ヘッダー : afxdb.h