次の方法で共有


CBulkRowset クラス

フェッチは回の呼び出しで複数の行ハンドルを取得し、一括のデータで動作するように行を操作します。

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

パラメーター

  • TAccessor
    アクセサー クラス。

メンバー

3b0wza3z.collapse_all(ja-jp,VS.110).gifメソッド

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();
}

必要条件

Header: atldbcli.h

参照

概念

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

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