Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.