Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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öncesindedircbBookmark2.)DBCOMPARE_EQ (
cbBookmark1cbBookmark2eşittir.)DBCOMPARE_GT (
cbBookmark1sonradırcbBookmark2.)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