Bagikan melalui


Kelas CBulkRowset

Mengambil dan memanipulasi baris untuk mengerjakan data secara massal dengan mengambil beberapa handel baris dengan satu panggilan.

Sintaks

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

Parameter

TAccessor
Kelas aksesor.

Persyaratan

Header: atldbcli.h

Anggota

Metode

Nama Deskripsi
AddRefRows Menaikkan jumlah referensi.
CBulkRowset Konstruktor.
MoveFirst Mengambil baris pertama data, melakukan pengambilan massal baru jika perlu.
MoveLast Berpindah ke baris terakhir.
MoveNext Mengambil baris data berikutnya.
MovePrev Berpindah ke baris sebelumnya.
MoveToBookmark Mengambil baris yang ditandai dengan marka buku atau baris pada offset tertentu dari marka buku tersebut.
MoveToRatio Mengambil baris mulai dari posisi pecahan dalam set baris.
ReleaseRows Mengatur baris saat ini (m_nCurrentRow) ke nol dan merilis semua baris.
SetRows Mengatur jumlah handel baris yang akan diambil oleh satu panggilan.

Contoh

Contoh berikut menunjukkan penggunaan CBulkRowset kelas.

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

Memanggil IRowset::AddRefRows untuk menambah jumlah referensi untuk semua baris yang saat ini diambil dari set baris massal.

Sintaks

HRESULT AddRefRows() throw();

Tampilkan Nilai

HRESULT standar.

CBulkRowset::CBulkRowset

Membuat objek baru CBulkRowset dan mengatur jumlah baris default ke 10.

Sintaks

CBulkRowset();

CBulkRowset::MoveFirst

Mengambil baris pertama data.

Sintaks

HRESULT MoveFirst() throw();

Tampilkan Nilai

HRESULT standar.

CBulkRowset::MoveLast

Berpindah ke baris terakhir.

Sintaks

HRESULT MoveLast() throw();

Tampilkan Nilai

HRESULT standar.

CBulkRowset::MoveNext

Mengambil baris data berikutnya.

Sintaks

HRESULT MoveNext() throw();

Tampilkan Nilai

HRESULT standar. Saat akhir kumpulan baris telah tercapai, mengembalikan DB_S_ENDOFROWSET.

CBulkRowset::MovePrev

Berpindah ke baris sebelumnya.

Sintaks

HRESULT MovePrev() throw();

Tampilkan Nilai

HRESULT standar.

CBulkRowset::MoveToBookmark

Mengambil baris yang ditandai dengan marka buku atau baris pada offset tertentu (lSkip) dari marka buku tersebut.

Sintaks

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

Parameter

bookmark
[di] Marka buku yang menandai lokasi tempat Anda ingin mengambil data.

lSkip
[di] Jumlah baris dari marka buku ke baris target. Jika lSkip adalah nol, baris pertama yang diambil adalah baris bookmark. Jika lSkip adalah 1, baris pertama yang diambil adalah baris setelah baris bookmark. Jika lSkip adalah -1, baris pertama yang diambil adalah baris sebelum baris bookmark.

Tampilkan Nilai

Lihat IRowset::GetData di Referensi Programmer OLE DB.

CBulkRowset::MoveToRatio

Mengambil baris mulai dari posisi pecahan dalam set baris.

Sintaks

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

Parameter

nNumerator
[di] Pembilang digunakan untuk menentukan posisi pecahan untuk mengambil data.

nDenominator
[di] Denominator digunakan untuk menentukan posisi pecahan untuk mengambil data.

Tampilkan Nilai

HRESULT standar.

Keterangan

MoveToRatio mengambil baris kira-kira sesuai dengan rumus berikut:

(nNumerator * RowsetSize ) / nDenominator

Di mana RowsetSize ukuran set baris, diukur dalam baris. Akurasi rumus ini tergantung pada penyedia tertentu. Untuk detailnya, lihat IRowsetScroll::GetRowsAtRatio di Referensi Programmer OLE DB.

CBulkRowset::ReleaseRows

Memanggil IRowset::ReleaseRows untuk mengurangi jumlah referensi untuk semua baris yang saat ini diambil dari set baris massal.

Sintaks

HRESULT ReleaseRows() throw();

Tampilkan Nilai

HRESULT standar.

CBulkRowset::SetRows

Mengatur jumlah handel baris yang diambil oleh setiap panggilan.

Sintaks

void SetRows(DBROWCOUNT nRows) throw();

Parameter

nRows
[di] Ukuran baru set baris (jumlah baris).

Keterangan

Jika Anda memanggil fungsi ini, itu harus sebelum set baris dibuka.

Lihat juga

Templat Konsumen OLE DB
Referensi Templat Konsumen OLE DB