Udostępnij za pośrednictwem


CBulkRowset — Klasa

Pobiera wiersze i manipuluje nimi, aby zbiorczo pracować nad danymi, pobierając wiele dojść wierszy za pomocą jednego wywołania.

Składnia

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

Parametry

Funkcja TAccessor
Klasa akcesoriów.

Wymagania

Nagłówek: atldbcli.h

Elementy członkowskie

Metody

Nazwa/nazwisko opis
AddRefRows Zwiększa liczbę odwołań.
CBulkRowset Konstruktor.
MoveFirst Pobiera pierwszy wiersz danych, wykonując nowy zbiorczy pobieranie w razie potrzeby.
MoveLast Przechodzi do ostatniego wiersza.
MoveNext Pobiera następny wiersz danych.
MovePrev Przechodzi do poprzedniego wiersza.
MoveToBookmark Pobiera wiersz oznaczony zakładką lub wiersz z określonym przesunięciem z tej zakładki.
MoveToRatio Pobiera wiersze rozpoczynające się od pozycji ułamkowej w zestawie wierszy.
ReleaseRows Ustawia bieżący wiersz (m_nCurrentRow) na zero i zwalnia wszystkie wiersze.
SetRows Ustawia liczbę dojść wierszy do pobrania przez jedno wywołanie.

Przykład

W poniższym przykładzie pokazano użycie CBulkRowset klasy .

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

Wywołuje metodę IRowset::AddRefRows , aby zwiększyć liczbę odwołań dla wszystkich wierszy aktualnie pobranych z zestawu wierszy zbiorczych.

Składnia

HRESULT AddRefRows() throw();

Wartość zwracana

Standardowy HRESULT.

CBulkRowset::CBulkRowset

Tworzy nowy CBulkRowset obiekt i ustawia domyślną liczbę wierszy na 10.

Składnia

CBulkRowset();

CBulkRowset::MoveFirst

Pobiera pierwszy wiersz danych.

Składnia

HRESULT MoveFirst() throw();

Wartość zwracana

Standardowy HRESULT.

CBulkRowset::MoveLast

Przechodzi do ostatniego wiersza.

Składnia

HRESULT MoveLast() throw();

Wartość zwracana

Standardowy HRESULT.

CBulkRowset::MoveNext

Pobiera następny wiersz danych.

Składnia

HRESULT MoveNext() throw();

Wartość zwracana

Standardowy HRESULT. Po osiągnięciu końca zestawu wierszy zwraca DB_S_ENDOFROWSET.

CBulkRowset::MovePrev

Przechodzi do poprzedniego wiersza.

Składnia

HRESULT MovePrev() throw();

Wartość zwracana

Standardowy HRESULT.

CBulkRowset::MoveToBookmark

Pobiera wiersz oznaczony zakładką lub wiersz z określonym przesunięciem (lSkip) z tej zakładki.

Składnia

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

Parametry

bookmark
[in] Zakładka oznaczającą lokalizację, z której chcesz pobrać dane.

lSkip
[in] Liczba wierszy z zakładki do wiersza docelowego. Jeśli lSkip ma wartość zero, pierwszy wiersz pobrany jest wierszem zakładki. Jeśli lSkip ma wartość 1, pierwszy wiersz pobrany jest wierszem po wierszu zakładki. Jeśli lSkip ma wartość -1, pierwszy wiersz pobrany jest wierszem przed wierszem zakładki.

Wartość zwracana

Zobacz IRowset::GetData w dokumentacji programisty OLE DB.

CBulkRowset::MoveToRatio

Pobiera wiersze rozpoczynające się od pozycji ułamkowej w zestawie wierszy.

Składnia

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

Parametry

nNumerator
[in] Licznik używany do określania położenia ułamkowego, z którego mają być pobierane dane.

nDenominator
[in] Mianownik używany do określania położenia ułamkowego, z którego mają być pobierane dane.

Wartość zwracana

Standardowy HRESULT.

Uwagi

MoveToRatio Pobiera wiersze w przybliżeniu zgodnie z następującą formułą:

(nNumerator * RowsetSize ) / nDenominator

Gdzie RowsetSize to rozmiar zestawu wierszy mierzony w wierszach. Dokładność tej formuły zależy od określonego dostawcy. Aby uzyskać szczegółowe informacje, zobacz IRowsetScroll::GetRowsAtRatio w dokumentacji programisty OLE DB.

CBulkRowset::ReleaseRows

Wywołuje metodę IRowset::ReleaseRows , aby usunąć liczbę odwołań dla wszystkich wierszy aktualnie pobranych z zestawu wierszy zbiorczych.

Składnia

HRESULT ReleaseRows() throw();

Wartość zwracana

Standardowy HRESULT.

CBulkRowset::SetRows

Ustawia liczbę dojść wierszy pobranych przez każde wywołanie.

Składnia

void SetRows(DBROWCOUNT nRows) throw();

Parametry

nRows
[in] Nowy rozmiar zestawu wierszy (liczba wierszy).

Uwagi

Jeśli wywołasz tę funkcję, należy ją otworzyć przed otwarciem zestawu wierszy.

Zobacz też

Szablony konsumentów OLE DB
Szablony konsumentów OLE DB — dokumentacja