Aracılığıyla paylaş


IRowsetLocateImpl Sınıfı

Bir satır kümesinden rastgele satırlar getiren OLE DB IRowsetLocate arabirimini uygular.

Sözdizimi

template <
   class T,
   class RowsetInterface,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap < RowClass::KeyType, RowClass* >,
   class BookmarkKeyType = LONG,
   class BookmarkType = LONG,
   class BookmarkMapClass = CAtlMap < RowClass::KeyType, RowClass* >>
class ATL_NO_VTABLE IRowsetLocateImpl : public IRowsetImpl<
       T,
       RowsetInterface,
       RowClass,
       MapClass>

Parametreler

T
öğesinden IRowsetLocateImpltüretilen bir sınıf.

RowsetInterface
öğesinden IRowsetImpltüretilen bir sınıf.

RowClass
için HROWdepolama birimi.

MapClass
Sağlayıcı tarafından tutulan tüm satır tanıtıcıları için depolama birimi.

BookmarkKeyType
Yer işaretinin türü(LONG veya dize gibi). Normal yer işaretlerinin uzunluğu en az iki bayt olmalıdır. (Tek baytlık uzunluk OLE DB standart yer işaretleriDBBMK_FIRST, DBBMK_LASTve DBBMK_INVALIDiçin ayrılmıştır.)

BookmarkType
Yer işaretinden veriye ilişkileri korumak için eşleme mekanizması.

BookmarkMapClass
Yer işareti tarafından tutulan tüm satır tutamaçları için depolama birimi.

Gereksinimler

Üst bilgi: atldb.h

Üyeler

Arabirim Yöntemleri

Veri Akışı Adı Açıklama
Compare İki yer işaretini karşılaştırır.
GetRowsAt Yer işaretinden uzaklık tarafından belirtilen satırla başlayan satırları getirir.
GetRowsByBookmark Belirtilen yer işaretleriyle eşleşen satırları getirir.
Karma Belirtilen yer işaretleri için karma değerleri döndürür.

Veri Üyeleri

Veri Akışı Adı Açıklama
m_rgBookmarks Yer işareti dizisi.

Açıklamalar

IRowsetLocateImpl, IRowsetLocate arabiriminin OLE DB Şablonları uygulamasıdır. IRowsetLocate bir satır kümesinden rastgele satırları getirmek için kullanılır. Bu arabirimi uygulamayan satır kümesi bir sequential satır kümesidir. Satır kümesinde mevcut olduğunda IRowsetLocate , 0 sütunu satırların yer işaretidir; bu sütunun okunması aynı satıra yeniden konumlandırmak için kullanılabilecek bir yer işareti değeri alır.

IRowsetLocateImpl sağlayıcılarda yer işareti desteği uygulamak için kullanılır. Yer işaretleri, tüketicinin bir satıra hızla dönmesine olanak tanıyan ve verilere yüksek hızlı erişim sağlayan yer tutuculardır (satır kümesindeki dizinler). Sağlayıcı, hangi yer işaretlerinin bir satırı benzersiz olarak tanımlayabileceğini belirler. Yöntemleri kullanarak IRowsetLocateImpl yer işaretlerini karşılaştırabilir, satırları kaydırmaya göre getirebilir, yer işaretine göre satırları getirebilir ve yer işaretleri için karma değerleri döndürebilirsiniz.

Satır kümesindeki OLE DB yer işaretlerini desteklemek için satır kümesinin bu sınıftan devralınmasını sağlayın.

Yer işareti desteği uygulama hakkında bilgi için bkz. Platform SDK'sında OLE DB Programcı Başvurusu'ndaki Visual C++ Programcı Kılavuzunda Yer İşaretleri için Sağlayıcı Desteği ve Yer İşaretleri.

IRowsetLocateImpl::Compare

İki yer işaretini karşılaştırır.

Sözdizimi

STDMETHOD (Compare )(HCHAPTER /* hReserved */,
   DBBKMARK cbBookmark1,
   const BYTE* pBookmark1,
   DBBKMARK cbBookmark2,
   const BYTE* pBookmark2,
   DBCOMPARE* pComparison);

Parametreler

BKz. OLE DB Programcı Başvurusunda IRowsetLocate::Compare.

Açıklamalar

Yer işaretlerinden biri standart OLE DB tanımlı standart yer işareti (DBBMK_FIRST, DBBMK_LASTveya DBBMK_INVALID) olabilir. içinde pComparison döndürülen değer, iki yer işareti arasındaki ilişkiyi gösterir:

  • DBCOMPARE_LT (cbBookmark1 öncesindedir cbBookmark2.)

  • DBCOMPARE_EQ (cbBookmark1 cbBookmark2eşittir.)

  • DBCOMPARE_GT (cbBookmark1 sonradır cbBookmark2.)

  • DBCOMPARE_NE (Yer işaretleri eşittir ve sıralı değildir.)

  • DBCOMPARE_NOTCOMPARABLE (Yer işaretleri karşılaştırılamaz.)

IRowsetLocateImpl::GetRowsAt

Yer işaretinden uzaklık tarafından belirtilen satırla başlayan satırları getirir.

Sözdizimi

STDMETHOD (GetRowsAt )(HWATCHREGION /* hReserved1 */,
   HCHAPTER hReserved2,
   DBBKMARK cbBookmark,
   const BYTE* pBookmark,
   DBROWOFFSET lRowsOffset,
   DBROWCOUNT cRows,
   DBCOUNTITEM* pcRowsObtained,
   HROW** prghRows);

Parametreler

BKz. OLE DB Programcı Başvurusunda IRowsetLocate::GetRowsAt.

Açıklamalar

Bunun yerine imleç konumundan getirmek için IRowset::GetRowsAt kullanın.

IRowsetLocateImpl::GetRowsAt imleç konumunu değiştirmez.

IRowsetLocateImpl::GetRowsByBookmark

Belirtilen yer işaretleriyle eşleşen bir veya daha fazla satır getirir.

Sözdizimi

STDMETHOD (GetRowsByBookmark )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const DBBKMARK rgcbBookmarks[],
   const BYTE* rgpBookmarks,
   HROW rghRows[],
   DBROWSTATUS* rgRowStatus[]);

Parametreler

hReserved
[in] IRowsetLocate::GetRowsByBookmark için hChapter parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'ndaki IRowsetLocate::GetRowsByBookmark bölümüne bakın.

Açıklamalar

Yer işareti, tanımladığınız bir değer veya OLE DB standart yer işaretleri (DBBMK_FIRST veya DBBMK_LAST) olabilir. İmleç konumunu değiştirmez.

IRowsetLocateImpl::Hash

Belirtilen yer işaretleri için karma değerleri döndürür.

Sözdizimi

STDMETHOD (Hash )(HCHAPTER /* hReserved */,
   DBBKMARK cbBookmarks,
   const DBBKMARK* rgcbBookmarks[],
   const BYTE* rgpBookmarks[],
   DBHASHVALUE rgHashValues[],
   DBROWSTATUS rgBookmarkStatus[]);

Parametreler

hReserved
[in] IRowsetLocate::Hash için hChapter parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'nda IRowsetLocate::Hash bölümüne bakın.

IRowsetLocateImpl::m_rgBookmarks

Yer işareti dizisi.

Sözdizimi

CAtlArray<DBROWCOUNT> m_rgBookmarks;

Ayrıca bkz.

OLE DB Sağlayıcı Şablonları
OLE DB Sağlayıcı Şablonu Mimarisi
Yer İşaretleri için IRowsetLocate:IRowsetSağlayıcı Desteği
Bookmarks