データ ソース、セッション、および行セット オブジェクトを開いた後、データをフェッチすることができます。使用するアクセサーの種類、列をバインドする必要があります。データをフェッチするには、次の手順を実行します。:
・ DBViewer サンプル CDBTreeView::OnQueryEdit から//列情報を取得します。ULONG ulColumnsnbsp;= 0;設定した DBCOLUMNINFO ※ pColumnInfo = NULL;LPOLESTR pStrings = NULL;場合 (rs。GetColumnInfo(&ulColumns, &pColumnInfo, &pStrings) ! S_OK =)AfxThrowOLEDBException (rs.m_pRowset、IID_IColumnsInfo);構造体 MYBIND ※ の新しい MYBIND [ulColumns]; =rs。CreateAccessor (ulColumns との [0] sizeof(MYBIND)*ulColumns);(ULONG l = 0; l < ulColumns; l + +)rs。AddBindEntry (l + 1、DBTYPE_STR、sizeof (TCHAR) ※ 40、& の [l] .szvalue、NULL、& pBind[l].dwStatus);rs。Bind()
(rs 中。MoveNext() S_OK = =){特価;//ここのデータをフェッチするコードを追加//自動アクセサーを使用していない場合は、rs を呼び出します。GetData()}(&N)
(rs 中。MoveNext() S_OK = =){特価;・ データ メンバーを直接使用します。このケースでは、m_nFooID//から派生した、ユーザー レコードで宣言されています。//CAccessorwsprintf (「%d」、rs.m_nFooID);}(&N)
(rs 中。MoveNext() S_OK = =){特価;・取得するには、動的アクセサー関数を使用して//データULONG ulColumns = rs。GetColumnCount();(ULONG I = 0; 私は < ulColumns; i + +){rs。GetValue(i);}}
(rs 中。MoveNext() S_OK = =){特価;/への呼び出しで指定したデータ メンバーを使用します。//AddBindEntry。wsprintf ("%s"、szFoo);}(&N)