Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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