次の方法で共有


レコードセットの境界

Recordset は、データセットの先頭と末尾をそれぞれ示す BOF プロパティと EOF プロパティをサポートしています。 BOFEOF は、Recordset の先頭と末尾に配置される "ファントム" レコードと考えることができます。 BOFEOF を考慮すると、サンプルの Recordset は次のようになります。

ProductID ProductName UnitPrice
BOF
7 アンクルボブのオーガニックドライ梨 30.0000
14 豆腐 23.2500
28 ルスル ザワークラウト 45.6000
51 マンジマップ ドライリンゴ 53.0000
74 ロングライフ豆腐 10.0000
EOF

カーソルが最後のレコードを超えると、EOFTrue に設定されます。それ以外の場合、値は False です。 同様に、カーソルが最初のレコードの前に移動すると、BOFTrue に設定されます。それ以外の場合、値は False です。 次の JScript コード フラグメントが示すように、これらのプロパティはデータセット内のレコードを列挙するために通常使用されます。

while (objRecordset.EOF != true)   
{  
   // Work on the current record.  
   ...  
   // Advance the cursor forward to the next record.  
   objRecordset.MoveNext();  
}  
or  
while (objRecordset.BOF != true)   
{  
   // Work on the current record.  
   ...  
   // Move the cursor to the previous record.  
   objRecordset.MovePrevious();  
}  

BOFEOF の両方が True の場合、Recordset オブジェクトは空です。 新しく開いた空でない Recordset オブジェクトの場合、どちらのプロパティも False になります。 次の JScript コード フラグメントが示すように、BOF プロパティと EOF プロパティの両方を使用すると、Recordset オブジェクトが空かどうかを判断できます。

if (objRecordset.EOF == true && objRecordset.BOF == true)  
{  
   WScript.Echo("we got an empty dataset.");  
}  
else  
{  
   WScript.Echo("we got a full dataset.");  
}  

このスキームはすべての種類のカーソルで機能し、基になるプロバイダーには依存しません。 RecordCount プロパティ値がゼロ (0) であるかどうかを確認することで Recordset オブジェクトが空かどうかを判断する場合は、結果でレコード数を返すことができる適切なカーソルとプロバイダーを使用するよう注意する必要があります。

Recordset オブジェクト内の最後の残りのレコードを削除した場合、カーソルは不確定状態のままになります。 プロバイダーによっては、現在のレコードの位置を変更するまで、BOF プロパティと EOF プロパティは False のままになることがあります。 詳細については、「Delete メソッドを使用したレコードの削除」を参照してください。