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