QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

Folosirea claselor mfc odbc



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


Nu se poate descarca referatul
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 }