Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri kaynağı, oturum ve satır kümesi nesnelerini açtıktan sonra verileri getirebilirsiniz. Kullandığınız erişimci türüne bağlı olarak sütunları bağlamanız gerekebilir.
Verileri getirmek için
Uygun Aç komutunu kullanarak satır kümesini açın.
kullanıyorsanız
CManualAccessor, henüz yapmadıysanız çıkış sütunlarını bağlayın. Aşağıdaki örnek DBViewer örneğinden alınmıştır. SütunlarıGetColumnInfobağlamak için çağrısı yapın ve aşağıdaki örnekte gösterildiği gibi bağlamalarla bir erişimci oluşturun:// From the DBViewer Sample CDBTreeView::OnQueryEdit // Get the column information ULONG ulColumns = 0; DBCOLUMNINFO* pColumnInfo = NULL; LPOLESTR pStrings = NULL; if (rs.GetColumnInfo(&ulColumns, &pColumnInfo, &pStrings) != S_OK) ThrowMyOLEDBException(rs.m_pRowset, IID_IColumnsInfo); struct MYBIND* pBind = new MYBIND[ulColumns]; rs.CreateAccessor(ulColumns, &pBind[0], sizeof(MYBIND)*ulColumns); for (ULONG l=0; l<ulColumns; l++) rs.AddBindEntry(l+1, DBTYPE_STR, sizeof(TCHAR)*40, &pBind[l].szValue, NULL, &pBind[l].dwStatus); rs.Bind();Verileri almak için bir
whiledöngü yazın. Döngüde, aşağıdaki örnekte gösterildiği gibi imleci ilerletmek ve dönüş değerini S_OK karşı test etmek için çağrısıMoveNextyapın:while (rs.MoveNext() == S_OK) { // Add code to fetch data here // If you are not using an auto accessor, call rs.GetData() }Döngü içinde
while, erişimci türüne göre verileri getirebilirsiniz.CAccessor sınıfını kullanıyorsanız, veri üyeleri içeren bir kullanıcı kaydınız olmalıdır. Aşağıdaki örnekte gösterildiği gibi bu veri üyelerini kullanarak verilerinize erişebilirsiniz:
while (rs.MoveNext() == S_OK) { // Use the data members directly. In this case, m_nFooID // is declared in a user record that derives from // CAccessor wsprintf_s("%d", rs.m_nFooID); }veya
CDynamicParameterAccessorsınıfınıCDynamicAccessorkullanıyorsanız, aşağıdaki örnekte gösterildiği gibi veGetColumnişlevlerineGetValueerişerek verileri getirebilirsiniz. Kullandığınız veri türünü belirlemek istiyorsanız kullanınGetType.while (rs.MoveNext() == S_OK) { // Use the dynamic accessor functions to retrieve your data. ULONG ulColumns = rs.GetColumnCount(); for (ULONG i=0; i<ulColumns; i++) { rs.GetValue(i); } }kullanıyorsanız
CManualAccessor, aşağıdaki örnekte gösterildiği gibi kendi veri üyelerinizi belirtmeniz, bunları kendiniz bağlamanız ve bunlara doğrudan erişmeniz gerekir:while (rs.MoveNext() == S_OK) { // Use the data members you specified in the calls to // AddBindEntry. wsprintf_s("%s", szFoo); }