次の方法で共有


CBulkRowset クラス

フェッチは一つの呼び出しで複数の行ハンドルの取得によって大量のデータで実行する行を処理します。

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

パラメーター

  • TAccessor
    アクセサー クラス。

メンバー

メソッド

AddRefRows

参照カウントをインクリメントします。

CBulkRowset

コンストラクターです。

MoveFirst

新しいバルク行フェッチを必要に応じて実行データの最初の行を取得します。

MoveLast

最後の行に移動します。

MoveNext

データの次の行を取得します。

MovePrev

前の行に移動します。

MoveToBookmark

ブックマークに含めるか、ブックマークの指定されたオフセットで行を示す行フェッチします。

MoveToRatio

フェッチは行セットの分数で表現した位置から開始します。

ReleaseRows

リリースと現在の行 (m_nCurrentRow) をすべての行ゼロに設定します。

SetRows

1 回の呼び出しが取得される行ハンドルの数を設定します。

使用例

次の例では 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();
}

必要条件

ヘッダー: atldbcli.h

参照

概念

OLE DB コンシューマー テンプレート (C++)

OLE DB コンシューマー テンプレート リファレンス