CacheSize プロパティ (ADO)
Recordset オブジェクトから、メモリ内にローカルにキャッシュされるレコードの数を示します。
設定と戻り値
0 より大きい必要がある長 値 を設定または返します。 既定値は 1 です。
備考
CacheSize プロパティを使用して、プロバイダーからローカル メモリに一度に取得するレコードの数を制御します。 たとえば、CacheSize が 10 の場合、最初に Recordset オブジェクトを開いた後、プロバイダーは最初の 10 個のレコードをローカル メモリに取得します。 Recordset オブジェクト内を移動すると、プロバイダーはローカル メモリ バッファーからデータを返します。 キャッシュ内の最後のレコードを超えて移動するとすぐに、プロバイダーはデータ ソースからキャッシュに次の 10 個のレコードを取得します。
手記
CacheSize は、プロバイダー固有のプロパティ (Recordset オブジェクトの Properties コレクション内) 最大開く行数に基づいています。 CacheSize 最大開いている行 より大きい値に設定することはできません。 プロバイダーが開くことができる行数を変更するには、[最大開く行数] 設定します。
CacheSize の値は、Recordset オブジェクトの有効期間中に調整できますが、この値を変更すると、データ ソースからの後続の取得後のキャッシュ内のレコード数にのみ影響します。 プロパティ値を変更するだけでは、キャッシュの現在の内容は変更されません。
CacheSize が指定 よりも取得するレコードが少ない場合、プロバイダーは残りのレコードを返し、エラーは発生しません。
CacheSize 0 の設定は許可されず、エラーが返されます。
キャッシュから取得されたレコードには、他のユーザーがソース データに加えた同時変更は反映されません。 キャッシュされたすべてのデータを強制的に更新するには、Resync メソッドを使用します。
CacheSize が 1 より大きい値に設定されている場合、レコードの取得後に削除が発生した場合、ナビゲーション メソッド (Move、MoveFirst、MoveLast、MoveNext、および MovePrevious) によって削除されたレコードへのナビゲーションが発生する可能性があります。 最初のフェッチ後、削除された行からデータ値にアクセスするまで、後続の削除はデータ キャッシュに反映されません。 ただし、CacheSize を 1 に設定すると、削除された行をフェッチできないため、この問題は解消されます。
適用対象
関連項目
CacheSize プロパティの使用例 (VB)
CacheSize プロパティの使用例 (VC++)
CacheSize プロパティの使用例 (JScript)