Freigeben über


COleDBRecordView-Klasse

Eine Sicht, die Datenbankdatensätze in Steuerelementen anzeigt.

Syntax

class COleDBRecordView : public CFormView

Member

Geschützte Konstruktoren

Name Beschreibung
COleDBRecordView::COleDBRecordView Erstellt ein COleDBRecordView-Objekt.

Öffentliche Methoden

Name Beschreibung
COleDBRecordView::OnGetRowset Gibt einen HRESULT-Standardwert zurück.
COleDBRecordView::OnMove Aktualisiert den aktuellen Datensatz (falls geändert) in der Datenquelle und wechselt dann zum angegebenen Datensatz (nächster, vorheriger, erster oder letzter Datensatz).

Hinweise

Die Ansicht ist eine Formularansicht, die direkt mit einem CRowset Objekt verbunden ist. Die Ansicht wird aus einer Dialogvorlagenressource erstellt und zeigt die Felder des Objekts in den Steuerelementen der CRowset Dialogfeldvorlage an. Das COleDBRecordView Objekt verwendet den Dialogdatenaustausch (Dialog Data Exchange, DDX) und die navigationsfähige CRowsetFunktionalität, um die Bewegung von Daten zwischen den Steuerelementen im Formular und den Feldern des Rowsets zu automatisieren. COleDBRecordView stellt außerdem eine Standardimplementierung für den Wechsel zum ersten, nächsten, vorherigen oder letzten Datensatz sowie eine Schnittstelle zum Aktualisieren des aktuell angezeigten Datensatzes bereit.

Mit DDX-Funktionen COleDbRecordView können Sie Daten direkt aus dem Datenbankrecordset abrufen und in einem Dialogfeldsteuerelement anzeigen. Sie sollten die DDX_* Methoden (z DDX_Text. B. ), nicht die DDX_Field* Funktionen (z DDX_FieldText. B. ) mit COleDbRecordViewverwenden. DDX_FieldText funktioniert nicht, COleDbRecordView da DDX_FieldText ein zusätzliches Argument vom Typ CRecordset* (für CRecordView) oder CDaoRecordset* (für CDaoRecordView) verwendet wird.

Hinweis

Wenn Sie mit den DAO-Klassen (Data Access Objects) anstelle der OLE DB Consumer Template-Klassen arbeiten, verwenden Sie stattdessen die Klasse CDaoRecordView . Weitere Informationen finden Sie im Artikel Übersicht: Datenbankprogrammierung.

COleDBRecordView verfolgt die Position des Benutzers im Rowset nach, damit die Datensatzansicht die Benutzeroberfläche aktualisieren kann. Wenn der Benutzer zum Ende des Rowsets wechselt, deaktiviert die Datensatzansicht Benutzeroberflächenobjekte , z. B. Menüelemente oder Symbolleistenschaltflächen, um sich weiter in die gleiche Richtung zu bewegen.

Weitere Informationen zu Rowsetklassen finden Sie im Artikel "Using OLE DB Consumer Templates ".

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

COleDBRecordView

Anforderungen

Header: afxoledb.h

COleDBRecordView::COleDBRecordView

Erstellt ein COleDBRecordView-Objekt.

COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);

Parameter

lpszTemplateName
Enthält eine mit Null beendete Zeichenfolge, die den Namen einer Dialogvorlagenressource darstellt.

nIDTemplate
Enthält die ID-Nummer einer Dialogvorlagenressource.

Hinweise

Wenn Sie ein Objekt eines typs erstellen, von COleDBRecordViewdem abgeleitet wird, rufen Sie einen der Konstruktoren auf, um das Ansichtsobjekt zu erstellen und die Dialogressource zu identifizieren, auf der die Ansicht basiert. Sie können die Ressource entweder anhand des Namens (übergeben Sie eine Zeichenfolge als Argument an den Konstruktor) oder durch die ID (eine nicht signierte ganze Zahl als Argument übergeben) identifizieren.

Hinweis

Die abgeleitete Klasse muss einen eigenen Konstruktor bereitstellen. Rufen Sie im Konstruktor den Konstruktor mit COleDBRecordView::COleDBRecordViewdem Ressourcennamen oder der ID als Argument auf.

COleDBRecordView::OnGetRowset

Gibt ein Handle für das CRowset<> -Objekt zurück, das der Datensatzansicht zugeordnet ist.

virtual CRowset<>* OnGetRowset() = 0;

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Sie müssen diese Memberfunktion überschreiben, um ein Rowset-Objekt zu erstellen oder abzurufen und ein Handle zurückzugeben. Wenn Sie die Datensatzansichtsklasse mit ClassWizard deklarieren, schreibt der Assistent eine Standardüberschreibung für Sie. Die Standardimplementierung von ClassWizard gibt das rowset-Handle zurück, das in der Datensatzansicht gespeichert ist, falls vorhanden. Andernfalls erstellt es ein Rowset-Objekt des Typs, den Sie mit ClassWizard angegeben haben, und ruft dessen Open Memberfunktion auf, um die Tabelle zu öffnen oder die Abfrage auszuführen, und gibt dann ein Handle an das Objekt zurück.

Hinweis

Vor MFC 7.0 wurde OnGetRowset ein Zeiger zurückgegeben.CRowset Wenn Sie Code haben, der aufruft OnGetRowset, müssen Sie den Rückgabetyp in die templatisierte Klasse CRowset<> ändern.

Beispiel

CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();

// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();

Weitere Informationen und Beispiele finden Sie im Artikel Datensatzansichten: Verwenden einer Datensatzansicht.

COleDBRecordView::OnMove

Wechselt zu einem anderen Datensatz im Rowset und zeigt seine Felder in den Steuerelementen der Datensatzansicht an.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parameter

nIDMoveCommand
Einer der folgenden Standardbefehls-ID-Werte:

  • ID_RECORD_FIRST – Wechseln zum ersten Datensatz im Recordset.

  • ID_RECORD_LAST – Wechseln zum letzten Datensatz im Recordset.

  • ID_RECORD_NEXT – Wechseln zum nächsten Datensatz im Recordset.

  • ID_RECORD_PREV – Wechseln zum vorherigen Datensatz im Recordset.

Rückgabewert

Nonzero, wenn die Verschiebung erfolgreich war; andernfalls 0, wenn die Verschiebungsanforderung verweigert wurde.

Hinweise

Die Standardimplementierung ruft die entsprechende Move Memberfunktion des Objekts auf, das CRowset der Datensatzansicht zugeordnet ist.

Aktualisiert standardmäßig den aktuellen Datensatz in der Datenquelle, OnMove wenn der Benutzer ihn in der Datensatzansicht geändert hat.

Der Anwendungs-Assistent erstellt eine Menüressource mit den Menüelementen "Erster Datensatz", "Letzter Datensatz", "Nächster Datensatz" und "Vorheriger Datensatz". Wenn Sie die Option "Andockbare Symbolleiste" auswählen, erstellt der Anwendungs-Assistent auch eine Symbolleiste mit Schaltflächen, die diesen Befehlen entsprechen.

Wenn Sie den letzten Datensatz im Recordset übergehen, zeigt die Datensatzansicht weiterhin den letzten Datensatz an. Wenn Sie den ersten Datensatz rückwärts durchlaufen, zeigt die Datensatzansicht weiterhin den ersten Datensatz an.

Siehe auch

Hierarchiediagramm