Po otwarciu źródła danych, sesji i obiektów zestawu wierszy, można pobrać dane. W zależności od typu akcesor, którego używasz, może zajść potrzeba powiązanie kolumn. Do pobrania danych, wykonaj następujące kroki:
/ Z CDBTreeView::OnQueryEdit DBViewer próbki
/ / Get informacji o kolumnie
ULONG ulColumnsnbsp; = 0;
DBCOLUMNINFO * pColumnInfo = NULL;
LPOLESTR pStrings = NULL;
Jeżeli (r.GetColumnInfo(&ulColumns, &pColumnInfo, &pStrings)! = wartość S_OK)
AfxThrowOLEDBException (rs.m_pRowset, IID_IColumnsInfo);
struct MYBIND * pBind = nowe MYBIND [ulColumns];
r.CreateAccessor (ulColumns & pBind [0], sizeof(MYBIND)*ulColumns);
dla (ULONG l = 0; l < ulColumns; l ++)
r.AddBindEntry (l + 1, typem DBTYPE_STR, sizeof (TCHAR) * 40 & pBind [l] .szvalue, NULL & pBind[l].dwStatus);
r.BIND()
podczas (r.Move&Next() == wartość S_OK)
{
nbsp; / / Dodanie kodu do pobrania danych tutaj
/ / Jeżeli nie używasz akcesor auto, wywołanie UW.GetData()
}
podczas (r.Move&Next() == wartość S_OK)
{
nbsp; / / Bezpośrednio korzystać członkowie danych. W tym przypadku, m_nFooID
/ / jest zadeklarowany w rekordu użytkownika, który wynika z
/ / CAccessor
wsprintf ("%d", rs.m_nFooID);
}
podczas (r.MoveNext() == wartość S_OK)
{
nbsp; / / Umożliwia dynamiczne akcesory pobierania użytkownika
/ / danych
ULONG ulColumns = r.GetColumnCount();
dla (ULONG I = 0; i < ulColumns; i ++)
{
r.GetValue(i);
}
}
podczas (r.Move&Next() == wartość S_OK)
{
nbsp; / / Wykorzystywać członków dane określone w zaproszeniach do
/ / AddBindEntry.
wsprintf ("%s", szFoo);
}