Veri kaynağında oturum ve satır kümesi nesneleri açtıktan sonra veri getirmek. Kullandığınız erişeni türüne bağlı olarak, sütun bağlama gerekebilir. Veri getirmek için aşağıdaki adımları izleyin.:
/ / DBViewer örnek CDBTreeView::OnQueryEdit
/ / Sütun bilgileri alın
ulong ulColumnsnbsp; = 0;
DBCOLUMNINFO * pColumnInfo = null;
lpolestr pStrings = null;
Eğer (rs.GetColumnInfo(&ulColumns, &pColumnInfo, &pStrings)! = s_ok)
AfxThrowOLEDBException (rs.m_pRowset, IID_IColumnsInfo);
struct MYBIND * pBind = yeni MYBIND [ulColumns];
RS.CreateAccessor (ulColumns & pBind [0], sizeof(MYBIND)*ulColumns);
için (ulong l = 0; l < ulColumns; l ++)
RS.AddBindEntry (m + 1, dbtype_str, sizeof (tchar) * 40 & pBind [l] .szvalue, null & pBind[l].dwStatus);
RS.Bind()
(rs.Move&Next() == s_ok)
{
nbsp; / / Burada veri getirmek için kod Ekle
/ / Auto erişenine kullanmıyorsanız, rs çağrı.GetData()
}
(rs.Move&Next() == s_ok)
{
nbsp; / / Veri üyeleri doğrudan kullanın. Bu durumda, m_nFooID
/ / bir kullanıcı kaydında dan türeyen ilan
/ / CAccessor
wsprintf ("%d", rs.m_nFooID);
}
(rs.MoveNext() == s_ok)
{
nbsp; / / Almak için dinamik erişimci işlevleri kullanmak için
/ / veri
ulong ulColumns rs =.GetColumnCount();
için (ulong i = 0; i < ulColumns; i ++)
{
RS.GetValue(i);
}
}
(rs.Move&Next() == s_ok)
{
nbsp; / / Belirtilen çağrıları veri üyeleri
/ / AddBindEntry.
wsprintf ("%s", szFoo);
}