CacheSize

(PWS4 IIS4 IIS5)
CacheSize — ローカル メモリにキャッシュされた Recordset オブジェクトのレコード数を示します。

構文

object.CacheSize

パラメータ

object Recordset オブジェクトを指定します。

設定値と戻り値

0 より大きい長整数型 (Long) の値を設定します。また、値の取得も可能です。既定値は 1 です。

説明

CacheSize プロパティを使用して、プロバイダからローカル メモリに一度に取り込むレコード数を制御します。たとえば、CacheSize が 10 の場合、最初に Recordset オブジェクトが開くと、プロバイダは最初の 10 個のレコードをローカルメモリに取り込みます。Recordset オブジェクトを移動する間、プロバイダはローカル メモリバッファからデータを返します。キャッシュ内の最後のレコードを通過すると、プロバイダは次の 10 個のレコードをデータソースからキャッシュに取り込みます。

注意 CacheSize は、プロバイダ固有の Maximum Open Rows プロパティ (Recordset オブジェクトの Properties コレクション内) に基づいた値です。Maximum Open Rows より大きな CacheSize を設定することはできません。プロバイダが開くことのできる行数を修正するには、Maximum Open Rows を設定します。

CacheSize の値は、Recordset オブジェクトが開いている間に変更できますが、変更した値は、次にデータ ソースからキャッシュへ取り込むレコード数に対してのみ適用されます。プロパティ値を変更しただけでは、現在のキャッシュの内容は変更されません。

取り込めるレコード数が CacheSize の指定値より少なくても、プロバイダは残りのレコードを返し、エラーにはなりません。

CacheSize プロパティは 0 には設定できません。エラーになります。

ほかのユーザーがソース データを同時に変更しても、キャッシュから取り込まれたレコードには反映されません。キャッシュに格納されているすべてのデータを強制的に更新するには、Resync メソッドを使用します。

CacheSize に 1 を超える値を設定して、レコードを取得した後に削除を行った場合、移動メソッド (Move、MoveFirst、MoveLast、MoveNext、MovePrevious) を実行すると、削除レコードに移動します。最初のフェッチ後の削除は、削除された行からデータ値にアクセスするまで、データキャッシュには反映されません。ただし、CacheSize に 1 を設定すると、削除行をフェッチできなくなるのでこの問題は解消できます。