Aracılığıyla paylaş


CBulkRowset Sınıfı

Tek bir çağrıyla birden çok satır tutamacını alarak satırları veri üzerinde toplu olarak çalışacak şekilde getirir ve işler.

Sözdizimi

template <class TAccessor>
class CBulkRowset : public CRowset<TAccessor>

Parametreler

TAccessor
Erişimci sınıfı.

Gereksinimler

Üst bilgi: atldbcli.h

Üyeler

Yöntemler

Veri Akışı Adı Açıklama
AddRefRows Başvuru sayısını artırır.
CBulkRowset Oluşturucu.
MoveFirst Gerekirse yeni bir toplu getirme işlemi gerçekleştirerek ilk veri satırını alır.
MoveLast Son satıra gider.
MoveNext Sonraki veri satırını alır.
MovePrev Önceki satıra gider.
MoveToBookmark Bir yer işareti tarafından işaretlenen satırı veya bu yer işaretinden belirtilen uzaklıkta satırı getirir.
MoveToRatio Satır kümesindeki kesirli konumdan başlayan satırları getirir.
ReleaseRows Geçerli satırı (m_nCurrentRow) sıfır olarak ayarlar ve tüm satırları serbest bırakır.
SetRows Bir çağrı tarafından alınacak satır tutamaçlarının sayısını ayarlar.

Örnek

Aşağıdaki örnekte sınıfının kullanımı gösterilmektedir CBulkRowset .

class CCustomerData
{
public:
   char m_szField1[50];

   BEGIN_COLUMN_MAP(CCustomerData)
     COLUMN_ENTRY(1, m_szField1)
   END_COLUMN_MAP()
};

void DoCBulkRowsetTest()
{
   CoInitialize(NULL);

   CCommand<CAccessor<CCustomerData>, CBulkRowset > cmd;
   CDataSource ds;

   // Open up data link dialogs to create a data source
   ds.Open();

   CSession session;
   session.Open(ds);
   // Could call SetRows() here if you want to fetch 
   // more than 10 HROWs at a time.
   cmd.Open(session, L"Select * from customer");
   cmd.MoveFirst();
   // Note that the CBulkRowset by default fetched 10 HROWs at a time 
   // so that the MoveNext call will not have to make the GetNextRows 
   // call to get the second HROW because it has already been fetched 
   //by the MoveFirst() call above.
   cmd.MoveNext();

   cmd.Close();
   session.Close();
   ds.Close();
}

CBulkRowset::AddRefRows

Toplu satır kümesinden alınan tüm satırların başvuru sayısını artırmak için IRowset::AddRefRows'ı çağırır.

Sözdizimi

HRESULT AddRefRows() throw();

Dönüş Değeri

Standart bir HRESULT.

CBulkRowset::CBulkRowset

Yeni CBulkRowset bir nesne oluşturur ve varsayılan satır sayısını 10 olarak ayarlar.

Sözdizimi

CBulkRowset();

CBulkRowset::MoveFirst

İlk veri satırını alır.

Sözdizimi

HRESULT MoveFirst() throw();

Dönüş Değeri

Standart bir HRESULT.

CBulkRowset::MoveLast

Son satıra gider.

Sözdizimi

HRESULT MoveLast() throw();

Dönüş Değeri

Standart bir HRESULT.

CBulkRowset::MoveNext

Sonraki veri satırını alır.

Sözdizimi

HRESULT MoveNext() throw();

Dönüş Değeri

Standart bir HRESULT. Satır kümesinin sonuna ulaşıldığında, DB_S_ENDOFROWSET döndürür.

CBulkRowset::MovePrev

Önceki satıra gider.

Sözdizimi

HRESULT MovePrev() throw();

Dönüş Değeri

Standart bir HRESULT.

CBulkRowset::MoveToBookmark

Bir yer işareti tarafından işaretlenen satırı veya belirtilen bir uzaklıkta (lSkip) bu yer işaretinden satırı getirir.

Sözdizimi

HRESULT MoveToBookmark(const CBookmarkBase& bookmark,
   DBCOUNTITEM lSkip = 0) throw();

Parametreler

bookmark
[in] Veri getirmek istediğiniz konumu işaretleyen yer işareti.

lSkip
[in] Yer işaretinden hedef satıra kadar olan satır sayısı. lSkip sıfırsa, getirilen ilk satır yer işaretli satırdır. lSkip 1 ise, getirilen ilk satır yer işaretli satırdan sonraki satırdır. lSkip -1 ise, getirilen ilk satır yer işaretli satırdan önceki satırdır.

Dönüş Değeri

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

CBulkRowset::MoveToRatio

Satır kümesindeki kesirli konumdan başlayan satırları getirir.

Sözdizimi

HRESULT MoveToRatio(DBCOUNTITEM nNumerator,
   DBCOUNTITEM nDenominator)throw();

Parametreler

nNumerator
[in] Verilerin getirildiği kesirli konumu belirlemek için kullanılan pay.

nDenominator
[in] Verilerin getirildiği kesirli konumu belirlemek için kullanılan payda.

Dönüş Değeri

Standart bir HRESULT.

Açıklamalar

MoveToRatio satırları kabaca aşağıdaki formüle göre getirir:

(nNumerator * RowsetSize ) / nDenominator

Burada RowsetSize satır kümesinin boyutu, satır cinsinden ölçülür. Bu formülün doğruluğu belirli sağlayıcıya bağlıdır. Ayrıntılar için OLE DB Programcı Başvurusu'ndaki IRowsetScroll::GetRowsAtRatio bölümüne bakın.

CBulkRowset::ReleaseRows

Toplu satır kümesinden alınan tüm satırların başvuru sayısını azaltması için IRowset::ReleaseRows'ı çağırır.

Sözdizimi

HRESULT ReleaseRows() throw();

Dönüş Değeri

Standart bir HRESULT.

CBulkRowset::SetRows

Her çağrı tarafından alınan satır tutamaçlarının sayısını ayarlar.

Sözdizimi

void SetRows(DBROWCOUNT nRows) throw();

Parametreler

nRows
[in] Satır kümesinin yeni boyutu (satır sayısı).

Açıklamalar

Bu işlevi çağırırsanız, satır kümesi açılmadan önce olmalıdır.

Ayrıca bkz.

OLE DB Tüketici Şablonları
OLE DB Tüketici Şablonları Başvurusu