Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
FOLOSIREA CLASELOR MFC ODBC
Pentru a putea folosi o baza de date folosind ODBC-ul trebuie configurat driverul ODBC incluzindu-se baza de date in surse.
Aplicatia se va crea folosind AppWizard-ul. In fereastra unde se seteaza optiunile referitoare la baze de date se selecteaza suportul pentru baze de date si din fereastra de selectie a sursei se va selecta baza de date sursa.
Ecranul in care se selecteaza baza de date este urmatorul:
Dupa ce se executa AppWizard se obtine scheletul unei aplicatii care contine in afara de clasele obisnuite si o clasa derivata din clasa CRecordset. Aceasta este construita in asa fel incit este conectata deja la baza de date care a fost selectata din ferestrele de optiuni. Penntru aceasta clasa au fost rescrise deja functiile OnFieldExchange, GetDefaultConnect, GetDefaultSql si constructorul clasei. De asemenea au fost definite variabile pentru fiecare cimp din tabela selectata.
In clasa document exista o variabila de tipul CRecordset iar in clasa CRecordView exista un pointer catre un obiect de tipul CRecordset.
Al doilea pas in construirea aplicatiei este inserarea controalelor necesare in resursa dialog.
Al treilea pas este legarea controalelor prin variabile de tip valoare de membrii clasei CRecordset. Acest lucru se face folosind ClassWizard.
In urma acestor actiuni a fost obtinuta o aplicatie care permite vizualizarea si modificarea datelor dintr-un recordset. Acest recordset a fost definit static de la crearea aplicatiei.
Codul pentru clasele derivate din CRecordView si din CRecordset este prezentat in continuare:
// TestODBCSet.h : interface of the CTestODBCSet class
class CTestODBCSet : public CRecordset
}AFX_FIELD
// Overrides
// ClassWizard generated virtual function overrides
//}AFX_VIRTUAL
// Implementation
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// TestODBCSet.cpp : implementation of the CTestODBCSet class
#include 'stdafx.h'
#include 'TestODBC.h'
#include 'TestODBCSet.h'
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CTestODBCSet implementation
IMPLEMENT_DYNAMIC(CTestODBCSet, CRecordset)
CTestODBCSet::CTestODBCSet(CDatabase* pdb)
: CRecordset(pdb)
}AFX_FIELD_INIT
m_nDefaultType = dynaset;
CString CTestODBCSet::GetDefaultConnect()
CString CTestODBCSet::GetDefaultSQL()
void CTestODBCSet::DoFieldExchange(CFieldExchange* pFX)
}AFX_FIELD_MAP
// CTestODBCSet diagnostics
#ifdef _DEBUG
void CTestODBCSet::AssertValid() const
void CTestODBCSet::Dump(CDumpContext& dc) const
#endif //_DEBUG
// TestODBCView.h : interface of the CTestODBCView class
class CTestODBCSet;
class CTestODBCView : public CRecordView
CTestODBCSet* m_pSet;
//}}AFX_DATA
// Attributes
public:
CTestODBCDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//}AFX_VIRTUAL
// Implementation
public:
virtual ~CTestODBCView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//}AFX_MSG
DECLARE_MESSAGE_MAP()
#ifndef _DEBUG // debug version in TestODBCView.cpp
inline CTestODBCDoc* CTestODBCView::GetDocument()
#endif
// TestODBCView.cpp : implementation of the CTestODBCView class
#include 'stdafx.h'
#include 'TestODBC.h'
#include 'TestODBCSet.h'
#include 'TestODBCDoc.h'
#include 'TestODBCView.h'
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CTestODBCView
IMPLEMENT_DYNCREATE(CTestODBCView, CRecordView)
BEGIN_MESSAGE_MAP(CTestODBCView, CRecordView)
//}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()
// CTestODBCView construction/destruction
CTestODBCView::CTestODBCView()
: CRecordView(CTestODBCView::IDD)
}AFX_DATA_INIT
// TODO: add construction code here
CTestODBCView::~CTestODBCView()
void CTestODBCView::DoDataExchange(CDataExchange* pDX)
}AFX_DATA_MAP
BOOL CTestODBCView::PreCreateWindow(CREATESTRUCT& cs)
void CTestODBCView::OnInitialUpdate()
// CTestODBCView printing
BOOL CTestODBCView::OnPreparePrinting(CPrintInfo* pInfo)
void CTestODBCView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
void CTestODBCView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
// CTestODBCView diagnostics
#ifdef _DEBUG
void CTestODBCView::AssertValid() const
void CTestODBCView::Dump(CDumpContext& dc) const
CTestODBCDoc* CTestODBCView::GetDocument() // non-debug version is inline
#endif //_DEBUG
// CTestODBCView database support
CRecordset* CTestODBCView::OnGetRecordset()
// CTestODBCView message handlers
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre:
|
Copyright © 2024 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |