Aracılığıyla paylaş


IRowsetImpl Sınıfı

Arabirimin IRowset bir uygulamasını sağlar.

Sözdizimi

template <
   class T,
   class RowsetInterface,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <
      RowClass::KeyType,
      RowClass*>>
class ATL_NO_VTABLE IRowsetImpl : public RowsetInterface

Parametreler

T
sınıfından IRowsetImpltüretilen sınıfınız.

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.

Gereksinimler

Üst bilgi: atldb.h

Üyeler

Yöntemler

Veri Akışı Adı Açıklama
AddRefRows Var olan bir satır tanıtıcısına başvuru sayısı ekler.
CreateRow GetNextRows tarafından yeni HROWbir ayırmak için çağrıldı. Doğrudan kullanıcı tarafından çağrılmaz.
GetData Satır kümesinin satır kopyasından veri alır.
GetDBStatus Belirtilen alanın durumunu döndürür.
GetNextRows Satırları sıralı olarak getirir ve önceki konumu anımsar.
IRowsetImpl Oluşturucu. Doğrudan kullanıcı tarafından çağrılmaz.
RefRows AddRefRows ve ReleaseRows tarafından çağrılır. Doğrudan kullanıcı tarafından çağrılmaz.
ReleaseRows Satırları serbest bırakır.
RestartPosition Sonraki getirme konumunu ilk konumuna yeniden konumlandırır; yani satır kümesinin ilk oluşturulduğu konumdur.
SetDBStatus Belirtilen alan için durum bayraklarını ayarlar.

Veri Üyeleri

Veri Akışı Adı Açıklama
m_bCanFetchBack Sağlayıcının geriye dönük getirmeyi destekleyip desteklemediğini gösterir.
m_bCanScrollBack Sağlayıcının imlecinin geriye doğru kaydırılıp kaydırılamayacağını gösterir.
m_bReset Sağlayıcının imleç konumunu sıfırlayıp sıfırlamadığını gösterir. Bunun, GetNextRows'ta geriye doğru kaydırma veya geri getirme işlemleri için özel bir anlamı vardır.
m_iRowset İmleci temsil eden satır kümesi dizini.
m_rgRowHandles Satır tutamaçlarının listesi.

Açıklamalar

IRowset , temel satır kümesi arabirimidir.

IRowsetImpl::AddRefRows

Var olan bir satır tanıtıcısına başvuru sayısı ekler.

Sözdizimi

STDMETHOD(AddRefRows )(DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[]);

Parametreler

BKz. OLE DB Programcı Başvurusunda IRowset::AddRefRows.

IRowsetImpl::CreateRow

Yeni HROWbir ayırmak için GetNextRows tarafından çağrılan bir yardımcı yöntemi.

Sözdizimi

HRESULT CreateRow(DBROWOFFSET lRowsOffset,
   DBCOUNTITEM& cRowsObtained,
   HROW* rgRows);

Parametreler

lRowsOffset
Oluşturulan satırın imleç konumu.

cRowsObtained
Kullanıcıya, oluşturulan satır sayısını gösteren bir başvuru iletildi.

rgRows
HROWYeni oluşturulan satır tanıtıcılarıyla çağırana döndürülen bir dizi.

Açıklamalar

Satır varsa, bu yöntem AddRefRows'ı çağırır ve döndürür. Aksi takdirde, RowClass şablon değişkeninin yeni bir örneğini ayırır ve m_rgRowHandles ekler.

IRowsetImpl::GetData

Satır kümesinin satır kopyasından veri alır.

Sözdizimi

STDMETHOD(GetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pDstData);

Parametreler

OLE DB Programcı Başvurusu'nda IRowset::GetData bölümüne bakın.

Bazı parametreler OLE DB Programcısının farklı adlardaki Başvuru parametrelerine karşılık gelir ve bunlar içinde IRowset::GetDataaçıklanmıştır:

OLE DB Şablonu parametreleri OLE DB Programcı Başvurusu parametreleri
pDstData pData

Açıklamalar

Ayrıca OLE DB veri dönüştürme DLL'sini kullanarak veri dönüştürmeyi işler.

IRowsetImpl::GetDBStatus

Belirtilen alan için DBSTATUS durum bayraklarını döndürür.

Sözdizimi

virtual DBSTATUS GetDBStatus(RowClass* currentRow,
   ATLCOLUMNINFO* columnNames);

Parametreler

currentRow
[in] Geçerli satır.

columnNames
[in] Durumunun istendiği sütun.

Dönüş Değeri

Sütun için DBSTATUS bayrakları.

IRowsetImpl::GetNextRows

Satırları sıralı olarak getirir ve önceki konumu anımsar.

Sözdizimi

STDMETHOD(GetNextRows )(HCHAPTER hReserved,
   DBROWOFFSET lRowsOffset,
   DBROWCOUNT cRows,
   DBCOUNTITEM* pcRowsObtained,
   HROW** prghRows);

Parametreler

BKz. OLE DB Programcı Başvurusunda IRowset::GetNextRows.

IRowsetImpl::IRowsetImpl

Oluşturucu.

Sözdizimi

IRowsetImpl();

Açıklamalar

Genellikle bu yöntemi doğrudan çağırmanız gerekmez.

IRowsetImpl::RefRows

AddRefRows ve ReleaseRows tarafından var olan bir satır tanıtıcısına başvuru sayısını artırmak veya serbest bırakmak için çağrılır.

Sözdizimi

HRESULT RefRows(DBCOUNTITEM cRows,
   const HROWrghRows[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[],
   BOOL bAdd);

Parametreler

BKz. OLE DB Programcı Başvurusunda IRowset::AddRefRows.

Dönüş Değeri

Standart bir HRESULT değeri.

IRowsetImpl::ReleaseRows

Satırları serbest bırakır.

Sözdizimi

STDMETHOD(ReleaseRows )(DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBROWOPTIONS rgRowOptions[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[]);

Parametreler

OLE DB Programcı Başvurusu'nda IRowset::ReleaseRows bölümüne bakın.

IRowsetImpl::RestartPosition

Sonraki getirme konumunu ilk konumuna yeniden konumlandırır; yani satır kümesinin ilk oluşturulduğu konumdur.

Sözdizimi

STDMETHOD(RestartPosition )(HCHAPTER /* hReserved */);

Parametreler

OLE DB Programcı Başvurusu'nda IRowset::RestartPosition bölümüne bakın.

Açıklamalar

Satır kümesi konumu çağrılana kadar GetNextRow tanımsızdır. Çağırıp RestartPosition geri getirerek veya geriye doğru kaydırarak bir satır kümesinde geriye doğru hareket edebilirsiniz.

IRowsetImpl::SetDBStatus

Belirtilen alan için DBSTATUS durum bayraklarını ayarlar.

Sözdizimi

virtual HRESULT SetDBStatus(DBSTATUS* statusFlags,
   RowClass* currentRow,
   ATLCOLUMNINFO* columnInfo);

Parametreler

statusFlags
DBSTATUS, sütun için ayarlanacağı bayrakları gösterir.

currentRow
Geçerli satır.

columnInfo
Durumunun ayarlandığı sütun.

Dönüş Değeri

Standart bir HRESULT değeri.

Açıklamalar

Sağlayıcı, DBSTATUS_S_ISNULL ve DBSTATUS_S_DEFAULT için özel işleme sağlamak üzere bu işlevi geçersiz kılar.

IRowsetImpl::m_bCanFetchBack

Sağlayıcının geriye dönük getirmeyi destekleyip desteklemediğini gösterir.

Sözdizimi

unsigned m_bCanFetchBack:1;

Açıklamalar

Gruptaki DBPROP_CANFETCHBACKWARDS özelliğine DBPROPSET_ROWSET bağlı. Sağlayıcının için destek DBPROP_CANFETCHBACKWARDS m_bCanFetchBackwards vermesi truegerekir.

IRowsetImpl::m_bCanScrollBack

Sağlayıcının imlecinin geriye doğru kaydırılıp kaydırılamayacağını gösterir.

Sözdizimi

unsigned  m_bCanScrollBack:1;

Açıklamalar

Gruptaki DBPROP_CANSCROLLBACKWARDS özelliğine DBPROPSET_ROWSET bağlı. Sağlayıcının için destek DBPROP_CANSCROLLBACKWARDS m_bCanFetchBackwards vermesi truegerekir.

IRowsetImpl::m_bReset

İmleç konumunun satır kümesinde tanımlandığını belirlemek için kullanılan bit bayrağı.

Sözdizimi

unsigned m_bReset:1;

Açıklamalar

Tüketici GetNextRows'ı negatif veya cRows ile çağırırsa ve m_bReset true ise satır GetNextRows kümesinin sonuna gider.lOffset False m_bReset ise, tüketici OLE DB belirtimine uygun olarak bir hata kodu alır. Bayrağı, m_bReset satır kümesinin ilk oluşturulduğu ve tüketicinin IRowsetImpl::RestartPosition çağrısında olarak ayarlanırtrue. çağrısı GetNextRowsyaptığınızda olarak false ayarlanır.

IRowsetImpl::m_iRowset

İmleci temsil eden satır kümesi dizini.

Sözdizimi

DBROWOFFSET m_iRowset;

IRowsetImpl::m_rgRowHandles

Şu anda sağlayıcı tarafından yanıt GetNextRowsolarak bulunan satır tanıtıcılarının haritası.

Sözdizimi

MapClass m_rgRowHandles;

Açıklamalar

Satır tutamaçları çağrılarak ReleaseRowskaldırılır. MapClass tanımı için bkz. IRowsetImpl'ye genel bakış.

Ayrıca bkz.

OLE DB Sağlayıcı Şablonları
OLE DB Sağlayıcı Şablonu Mimarisi
CSimpleRow Sınıfı