CDaoRecordset::Seek

BOOL を求める (LPCTSTR lpszComparisonCOleVariant ※ pKey1COleVariant ※ pKey2 = NULL、COleVariant ※ pKey3 = NULL);
throw (CDaoException, CMemoryException);

BOOL を求める (LPCTSTR lpszComparisonCOleVariant ※ pKeyArray nKeys);
(CDaoException、CMemoryException) を投げます。

戻り値

一致するレコードが見つかった場合は、それ以外の場合 0 0 以外の値。

パラメーター

lpszComparison

次の文字列式のいずれか:「lt;」、「< =「、」=「」> =」、または「>」。

pKey1

値は、インデックスの最初のフィールドに対応する、 COleVariantへのポインター。必須。

pKey2

値を対応する 2 番目のフィールドのインデックスであれば、 COleVariantへのポインター。既定値はNULL

pKey3

値、3 番目のフィールドのインデックスであれば対応を持つ COleVariantへのポインター。既定値はNULL

pKeyArray

バリアントの配列へのポインター。配列のサイズに対応するインデックスのフィールド数。

nKeys

インデックスのフィールドの数は、配列のサイズに対応する整数。

特価;ワイルドカードは、キーを指定しません。一致するレコードを返さないをシークワイルドカードになります(&N)。

解説

指定した条件が現在のインデックスし、現在のレコードをインデックス付きのテーブル タイプの recordset オブジェクトでレコードを検索するにはこのメンバー関数を呼び出します。以上の 4 つのフィールドのインデックスを処理するのに 2 番目の (配列) バージョンのSeekを使用します。

シーク高性能インデックス テーブル タイプのレコード セットを検索できます。現在のインデックスを設定するにはSeekを呼び出す前にSetCurrentIndexを呼び出す必要があります。インデックスが一意でないキー フィールドまたはフィールドを識別する場合は、 Seek条件を満たす最初のレコードを検索します。インデックスを設定しない場合は、例外がスローされます。

ANSI、UNICODE のレコード セットを作成していない場合は、 COleVariantオブジェクトを明示的に宣言する必要があることに注意してください。これは、 COleVariant::COleVariant( lpszSrc, vtSrc フォームのコンス トラクターを使用して、 VT_BSTRTに (ANSI) を設定vtSrcとまたはCOleVariant関数SetString( lpszSrc, vtSrc vtSrc VT_BSTRTに設定を使用して行うことができます。

1 つまたは複数のキー値と比較演算子を渡すSeekを呼び出すときは、(「lt;」、「< =」、「=」、」> =」、または「>」)。シーク指定されたキー フィールドを検索し、 lpszComparisonpKey1で指定された条件を満たす最初のレコードを検索します。一度が見つかりました、 Seekは 0 以外を返し、そのレコードがカレントになります。シークとの一致を検索に失敗した場合は、 Seekは 0 を返し、現在のレコードが定義されていません。DAO を直接使用する場合は、NoMatch プロパティを明示的にチェックする必要があります。

LpszComparisonの場合、特価 ="";」> =」、または「>」 Seekはインデックス先頭を開始します。LpszComparisonの場合「<」または「< =「シーク開始インデックスの最後で、検索がない限り、下位最後のインデックス エントリを複製します。この場合、 Seekはインデックスの末尾に重複するインデックス エントリの中で任意のエントリ開始します。

そこはありませんSeekを使用すると、現在のレコードに。

ダイナセット タイプまたはスナップショット タイプのレコード セットは、特定の条件を満たすレコードを検索するには、検索操作に使用します。だけでなく、特定の条件を満たすすべてのレコードを含めるには、移動操作では、レコードからレコードへ移動する使用します。

アタッチ テーブルは、ダイナセット タイプまたはスナップショット タイプのレコード セットとして開く必要がありますので、任意の種類のアタッチ テーブルのSeekを呼び出すことはできません。直接、インストール可能な ISAM データベースを開くには、 CDaoDatabase::Openを呼び出す場合は、パフォーマンスが遅くなることがありますが、シークデータベース内のテーブルにただし、。

レコード検索の詳細については、資料を参照してください DAO レコード セット: レコード セットの移動Visual の C++ プログラマのガイド。関連情報についてを求める DAO ヘルプの「方法」トピックを参照してください。

CDaoRecordset の概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CDaoRecordset::FindFirstCDaoRecordset::FindLastCDaoRecordset::FindNextCDaoRecordset::FindPrevCDaoRecordset::MoveCDaoRecordset::MoveFirstCDaoRecordset::MoveLastCDaoRecordset::MoveNextCDaoRecordset::MovePrevCOleVariant::COleVariantCOleVariant::SetString(&N)

Index