Condividi tramite


Classe COleDBRecordView

Visualizzazione che mostra i record del database nei controlli.

Sintassi

class COleDBRecordView : public CFormView

Membri

Costruttori protetti

Nome Descrizione
COleDBRecordView::COleDBRecordView Costruisce un oggetto COleDBRecordView.

Metodi pubblici

Nome Descrizione
COleDBRecordView::OnGetRowset Restituisce un valore HRESULT standard.
COleDBRecordView::OnMove Aggiorna il record corrente (se dirty) nell'origine dati e quindi passa al record specificato (successivo, precedente, primo o ultimo).

Osservazioni:

La visualizzazione è una visualizzazione modulo direttamente connessa a un CRowset oggetto . La visualizzazione viene creata da una risorsa modello di finestra di dialogo e visualizza i campi dell'oggetto CRowset nei controlli del modello di finestra di dialogo. L'oggetto COleDBRecordView usa lo scambio di dati della finestra di dialogo (DDX) e la funzionalità di spostamento integrata in CRowsetper automatizzare lo spostamento dei dati tra i controlli nel modulo e i campi del set di righe. COleDBRecordView fornisce inoltre un'implementazione predefinita per il passaggio al primo, successivo, precedente o ultimo record e un'interfaccia per l'aggiornamento del record attualmente in visualizzazione.

È possibile usare le funzioni DDX con COleDbRecordView per ottenere dati direttamente dal recordset di database e visualizzarli in un controllo finestra di dialogo. È consigliabile usare i DDX_* metodi (ad esempio DDX_Text), non le DDX_Field* funzioni (ad esempio DDX_FieldText) con COleDbRecordView. DDX_FieldText non funzionerà con COleDbRecordView perché DDX_FieldText accetta un argomento aggiuntivo di tipo CRecordset* (per CRecordView) o CDaoRecordset* (per CDaoRecordView).

Nota

Se si usano le classi DAO (Data Access Objects) anziché le classi del modello di consumer OLE DB, usare invece la classe CDaoRecordView . Per altre informazioni, vedere l'articolo Panoramica: Programmazione del database.

COleDBRecordView tiene traccia della posizione dell'utente nel set di righe in modo che la visualizzazione record possa aggiornare l'interfaccia utente. Quando l'utente passa a una delle estremità del set di righe, la visualizzazione record disabilita gli oggetti dell'interfaccia utente, ad esempio le voci di menu o i pulsanti della barra degli strumenti, per spostarsi ulteriormente nella stessa direzione.

Per altre informazioni sulle classi di set di righe, vedere l'articolo Uso dei modelli di consumer OLE DB.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

COleDBRecordView

Requisiti

Intestazione: afxoledb.h

COleDBRecordView::COleDBRecordView

Costruisce un oggetto COleDBRecordView.

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

Parametri

lpszTemplateName
Contiene una stringa con terminazione Null che corrisponde al nome di una risorsa modello di dialogo.

nIDTemplate
Contiene il numero ID di una risorsa modello di dialogo.

Osservazioni:

Quando si crea un oggetto di un tipo derivato da COleDBRecordView, richiamare uno dei costruttori per creare l'oggetto view e identificare la risorsa della finestra di dialogo su cui si basa la vista. È possibile identificare la risorsa in base al nome (passare una stringa come argomento al costruttore) o tramite il relativo ID (passare un intero senza segno come argomento).

Nota

La classe derivata deve fornire il proprio costruttore. Nel costruttore richiamare il costruttore , COleDBRecordView::COleDBRecordViewcon il nome della risorsa o l'ID come argomento.

COleDBRecordView::OnGetRowset

Restituisce un handle per l'oggetto CRowset<> associato alla visualizzazione record.

virtual CRowset<>* OnGetRowset() = 0;

Valore restituito

Valore HRESULT standard.

Osservazioni:

È necessario eseguire l'override di questa funzione membro per costruire o ottenere un oggetto set di righe e restituirvi un handle. Se si dichiara la classe di visualizzazione record con ClassWizard, la procedura guidata scrive automaticamente un override predefinito. L'implementazione predefinita di ClassWizard restituisce l'handle del set di righe archiviato nella visualizzazione record, se presente. In caso contrario, crea un oggetto set di righe del tipo specificato con ClassWizard e chiama la relativa Open funzione membro per aprire la tabella o eseguire la query, quindi restituisce un handle all'oggetto .

Nota

In precedenza a MFC 7.0, OnGetRowset restituiva un puntatore a CRowset. Se si dispone di codice che chiama OnGetRowset, è necessario modificare il tipo restituito alla classe templatizzata CRowset<>.

Esempio

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();

Per altre informazioni ed esempi, vedere l'articolo Visualizzare record: uso di una visualizzazione record.

COleDBRecordView::OnMove

Passa a un record diverso nel set di righe e visualizza i relativi campi nei controlli della visualizzazione record.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parametri

nIDMoveCommand
Uno dei valori ID comando standard seguenti:

  • ID_RECORD_FIRST : consente di passare al primo record del recordset.

  • ID_RECORD_LAST : consente di passare all'ultimo record del recordset.

  • ID_RECORD_NEXT : consente di passare al record successivo nel recordset.

  • ID_RECORD_PREV : consente di passare al record precedente nel recordset.

Valore restituito

Diverso da zero se lo spostamento ha avuto esito positivo; in caso contrario, 0 se la richiesta di spostamento è stata negata.

Osservazioni:

L'implementazione predefinita chiama la funzione membro appropriata Move dell'oggetto CRowset associato alla visualizzazione record.

Per impostazione predefinita, OnMove aggiorna il record corrente nell'origine dati se l'utente lo ha modificato nella visualizzazione record.

La Creazione guidata applicazione crea una risorsa di menu con le voci di menu First Record, Last Record, Next Record e Previous Record. Se si seleziona l'opzione Barra degli strumenti ancorabile, la Creazione guidata applicazione crea anche una barra degli strumenti con pulsanti corrispondenti a questi comandi.

Se si passa oltre l'ultimo record del recordset, la visualizzazione record continua a visualizzare l'ultimo record. Se si passa all'indietro oltre il primo record, la visualizzazione record continua a visualizzare il primo record.

Vedi anche

Grafico della gerarchia