B
Quellcode für C++-Programm in Tag 14
Die Datei MainFrm.cpp
// MainFrm.h : Schnittstelle der Klasse CMainFrame
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CMainFrame : public CFrameWnd
{
protected: // Nur aus Serialisierung erzeugen
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attribute
public:
// Operationen
public:
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CMainFrame)
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementierung
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected: // Eingebundene Elemente der Steuerleiste
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
// Generierte Message-Map-Funktionen
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
// HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif // !defined(AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei MainFrm.h
// MainFrm.h : Schnittstelle der Klasse CMainFrame
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CMainFrame : public CFrameWnd
{
protected: // Nur aus Serialisierung erzeugen
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attribute
public:
// Operationen
public:
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CMainFrame)
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementierung
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected: // Eingebundene Elemente der Steuerleiste
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
// Generierte Message-Map-Funktionen
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
// HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif // !defined(AFX_MAINFRM_H__1C3BFD87_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei resource.h
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by SQL21.rc
//
#define IDD_ABOUTBOX 100
#define IDD_SQL21_FORM 101
#define IDP_FAILED_OPEN_DATABASE 103
#define IDR_MAINFRAME 128
#define IDR_SQL21TYPE 129
#define IDC_NAME 1000
#define IDC_ADRESSE 1001
#define IDC_STAAT 1002
#define IDC_ZIP 1003
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_3D_CONTROLS 1
#define _APS_NEXT_RESOURCE_VALUE 130
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1004
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Die Datei SQL21.cpp
// SQL21.cpp : Legt das Klassenverhalten für die Anwendung fest.
//
#include "stdafx.h"
#include "SQL21.h"
#include "MainFrm.h"
#include "SQL21Set.h"
#include "SQL21Doc.h"
#include "SQL21View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSQL21App
BEGIN_MESSAGE_MAP(CSQL21App, CWinApp)
//{{AFX_MSG_MAP(CSQL21App)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MSG_MAP
// Standard-Druckbefehl "Seite einrichten"
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSQL21App Konstruktion
CSQL21App::CSQL21App()
{
// ZU ERLEDIGEN: Hier Code zur Konstruktion einfügen
// Alle wichtigen Initialisierungen in InitInstance platzieren
}
/////////////////////////////////////////////////////////////////////////////
// Das einzige CSQL21App-Objekt
CSQL21App theApp;
/////////////////////////////////////////////////////////////////////////////
// CSQL21App Initialisierung
BOOL CSQL21App::InitInstance()
{
AfxEnableControlContainer();
// Standardinitialisierung
// Wenn Sie diese Funktionen nicht nutzen und die Größe Ihrer fertigen
// ausführbaren Datei reduzieren wollen, sollten Sie die nachfolgenden
// spezifischen Initialisierungsroutinen, die Sie nicht benötigen, entfernen.
#ifdef _AFXDLL
Enable3dControls(); // Diese Funktion bei Verwendung von MFC in gemeinsam genutzten DLLs aufrufen
#else
Enable3dControlsStatic(); // Diese Funktion bei statischen MFC-Anbindungen aufrufen
#endif
// Ändern des Registrierungsschlüssels, unter dem unsere Einstellungen gespeichert sind.
// Sie sollten dieser Zeichenfolge einen geeigneten Inhalt geben
// wie z.B. den Namen Ihrer Firma oder Organisation.
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(); // Standard-INI-Dateioptionen einlesen (einschließlich MRU)
// Dokumentvorlagen der Anwendung registrieren. Dokumentvorlagen
// dienen als Verbindung zwischen Dokumenten, Rahmenfenstern und Ansichten.
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSQL21Doc),
RUNTIME_CLASS(CMainFrame), // Haupt-SDI-Rahmenfenster
RUNTIME_CLASS(CSQL21View));
AddDocTemplate(pDocTemplate);
// Befehlszeile parsen, um zu prüfen auf Standard-Umgebungsbefehle DDE, Datei offen
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Verteilung der in der Befehlszeile angegebenen Befehle
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// Das einzige Fenster ist initialisiert und kann jetzt angezeigt und aktualisiert werden.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg-Dialogfeld für Anwendungsbefehl "Info"
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialogfelddaten
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung
//}}AFX_VIRTUAL
// Implementierung
protected:
//{{AFX_MSG(CAboutDlg)
// Keine Nachrichten-Handler
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// Keine Nachrichten-Handler
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// Anwendungsbefehl, um das Dialogfeld aufzurufen
void CSQL21App::OnAppAbout()
{
CAboutDlg aboutDlg;
aboutDlg.DoModal();
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21App-Befehle
Die Datei SQL21.h
// SQL21.h : Haupt-Header-Datei für die Anwendung SQL21
//
#if !defined(AFX_SQL21_H__1C3BFD83_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_SQL21_H__1C3BFD83_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // Hauptsymbole
/////////////////////////////////////////////////////////////////////////////
// CSQL21App:
// Siehe SQL21.cpp für die Implementierung dieser Klasse
//
class CSQL21App : public CWinApp
{
public:
CSQL21App();
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CSQL21App)
public:
virtual BOOL InitInstance();
//}}AFX_VIRTUAL
// Implementierung
//{{AFX_MSG(CSQL21App)
afx_msg void OnAppAbout();
// HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif // !defined(AFX_SQL21_H__1C3BFD83_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei SQL21Doc.cpp
// SQL21Doc.cpp : Implementierung der Klasse CSQL21Doc
//
#include "stdafx.h"
#include "SQL21.h"
#include "SQL21Set.h"
#include "SQL21Doc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSQL21Doc
IMPLEMENT_DYNCREATE(CSQL21Doc, CDocument)
BEGIN_MESSAGE_MAP(CSQL21Doc, CDocument)
//{{AFX_MSG_MAP(CSQL21Doc)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSQL21Doc Konstruktion/Destruktion
CSQL21Doc::CSQL21Doc()
{
// ZU ERLEDIGEN: Hier Code für One-Time-Konstruktion einfügen
}
CSQL21Doc::~CSQL21Doc()
{
}
BOOL CSQL21Doc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// ZU ERLEDIGEN: Hier Code zur Reinitialisierung einfügen
// (SDI-Dokumente verwenden dieses Dokument)
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21Doc Diagnose
#ifdef _DEBUG
void CSQL21Doc::AssertValid() const
{
CDocument::AssertValid();
}
void CSQL21Doc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSQL21Doc Befehle
Die Datei SQL21Doc.h
// SQL21Doc.h : Schnittstelle der Klasse CSQL21Doc
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SQL21DOC_H__1C3BFD89_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_SQL21DOC_H__1C3BFD89_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CSQL21Doc : public Cdocument
{
protected: // Nur aus Serialisierung erzeugen
CSQL21Doc();
DECLARE_DYNCREATE(CSQL21Doc)
// Attribute
public:
CSQL21Set m_sQL21Set;
// Operationen
public:
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CSQL21Doc)
public:
virtual BOOL OnNewDocument();
//}}AFX_VIRTUAL
// Implementierung
public:
virtual ~CSQL21Doc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generierte Message-Map-Funktionen
protected:
//{{AFX_MSG(CSQL21Doc)
// HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif
// !defined(AFX_SQL21DOC_H__1C3BFD89_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei SQL21Set.cpp
// SQL21Set.cpp : Implementierung der Klasse CSQL21Set
//
#include "stdafx.h"
#include "SQL21.h"
#include "SQL21Set.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSQL21Set Implementierung
IMPLEMENT_DYNAMIC(CSQL21Set, CRecordset)
CSQL21Set::CSQL21Set(CDatabase* pdb)
: CRecordset(pdb)
{
//{{AFX_FIELD_INIT(CSQL21Set)
m_NAME = _T("");
m_ADRESSE = _T("");
m_STAAT = _T("");
m_ZIP = _T("");
m_TELEFON = _T("");
m_BEMERKUNGEN = _T("");
m_nFields = 6;
//}}AFX_FIELD_INIT
m_nDefaultType = snapshot;
}
CString CSQL21Set::GetDefaultConnect()
{
return _T("ODBC;DSN=SQL21");
}
CString CSQL21Set::GetDefaultSQL()
{
// vom Assistenten erzeugt:
// return _T("[KUNDE]");
// für sortierte Ausgabe geändert (siehe Text):
return _T("SELECT * FROM KUNDE ORDER BY NAME");
}
void CSQL21Set::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CSQL21Set)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[NAME]"), m_NAME);
RFX_Text(pFX, _T("[ADRESSE]"), m_ADRESSE);
RFX_Text(pFX, _T("[STAAT]"), m_STAAT);
RFX_Text(pFX, _T("[ZIP]"), m_ZIP);
RFX_Text(pFX, _T("[TELEFON]"), m_TELEFON);
RFX_Text(pFX, _T("[BEMERKUNGEN]"), m_BEMERKUNGEN);
//}}AFX_FIELD_MAP
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21Set Diagnose
#ifdef _DEBUG
void CSQL21Set::AssertValid() const
{
CRecordset::AssertValid();
}
void CSQL21Set::Dump(CDumpContext& dc) const
{
CRecordset::Dump(dc);
}
#endif //_DEBUG
Die Datei SQL21Set.h
// SQL21Set.h : Schnittstelle der Klasse CSQL21Set
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SQL21SET_H__1C3BFD8D_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_SQL21SET_H__1C3BFD8D_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CSQL21Set : public Crecordset
{
public:
CSQL21Set(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(CSQL21Set)
// Feld-/Parameterdaten
//{{AFX_FIELD(CSQL21Set, CRecordset)
CString m_NAME;
CString m_ADRESSE;
CString m_STAAT;
CString m_ZIP;
CString m_TELEFON;
CString m_BEMERKUNGEN;
//}}AFX_FIELD
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CSQL21Set)
public:
virtual CString GetDefaultConnect(); // Standard-Verbindungszeichenfolge
virtual CString GetDefaultSQL(); // Standard-SQL für Recordset
virtual void DoFieldExchange(CFieldExchange* pFX); // RFX-Unterstützung
//}}AFX_VIRTUAL
// Implementierung
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif
// !defined(AFX_SQL21SET_H__1C3BFD8D_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei SQL21View.cpp
// SQL21View.cpp : Implementierung der Klasse CSQL21View
//
#include "stdafx.h"
#include "SQL21.h"
#include "SQL21Set.h"
#include "SQL21Doc.h"
#include "SQL21View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSQL21View
IMPLEMENT_DYNCREATE(CSQL21View, CRecordView)
BEGIN_MESSAGE_MAP(CSQL21View, CRecordView)
//{{AFX_MSG_MAP(CSQL21View)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MSG_MAP
// Standard-Druckbefehle
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()
/////////////////////////////////////////////////////////////////////////////
// CSQL21View Konstruktion/Destruktion
CSQL21View::CSQL21View()
: CRecordView(CSQL21View::IDD)
{
//{{AFX_DATA_INIT(CSQL21View)
m_pSet = NULL;
m_ADRESSE = _T("");
m_NAME = _T("");
m_STAAT = _T("");
m_ZIP = _T("");
//}}AFX_DATA_INIT
// ZU ERLEDIGEN: Hier Code zur Konstruktion einfügen,
}
CSQL21View::~CSQL21View()
{
}
void CSQL21View::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSQL21View)
DDX_FieldText(pDX, IDC_ADRESSE, m_pSet->m_ADRESSE, m_pSet);
DDX_FieldText(pDX, IDC_NAME, m_pSet->m_NAME, m_pSet);
DDX_FieldText(pDX, IDC_STAAT, m_pSet->m_STAAT, m_pSet);
DDX_FieldText(pDX, IDC_ZIP, m_pSet->m_ZIP, m_pSet);
//}}AFX_DATA_MAP
}
BOOL CSQL21View::PreCreateWindow(CREATESTRUCT& cs)
{
// ZU ERLEDIGEN: Ändern Sie hier die Fensterklasse oder das Erscheinungsbild, indem Sie
// CREATESTRUCT cs modifizieren.
return CRecordView::PreCreateWindow(cs);
}
void CSQL21View::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_sQL21Set;
CRecordView::OnInitialUpdate();
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21View Drucken
BOOL CSQL21View::OnPreparePrinting(CPrintInfo* pInfo)
{
// Standardvorbereitung
return DoPreparePrinting(pInfo);
}
void CSQL21View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// ZU ERLEDIGEN: Zusätzliche Initialisierung vor dem Drucken hier einfügen
}
void CSQL21View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// ZU ERLEDIGEN: Hier Bereinigungsarbeiten nach dem Drucken einfügen
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21View Diagnose
#ifdef _DEBUG
void CSQL21View::AssertValid() const
{
CRecordView::AssertValid();
}
void CSQL21View::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CSQL21Doc* CSQL21View::GetDocument() // Die endgültige (nicht zur Fehlersuche kompilierte) Version ist Inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSQL21Doc)));
return (CSQL21Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSQL21View Datenbankunterstützung
CRecordset* CSQL21View::OnGetRecordset()
{
return m_pSet;
}
/////////////////////////////////////////////////////////////////////////////
// CSQL21View Nachrichten-Handler
Die Datei SQL21View.h
// SQL21View.h : Schnittstelle der Klasse CSQL21View
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SQL21VIEW_H__1C3BFD8B_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_SQL21VIEW_H__1C3BFD8B_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CSQL21Set;
class CSQL21View : public CRecordView
{
protected: // Nur aus Serialisierung erzeugen
CSQL21View();
DECLARE_DYNCREATE(CSQL21View)
public:
//{{AFX_DATA(CSQL21View)
enum { IDD = IDD_SQL21_FORM };
CSQL21Set* m_pSet;
CString m_ADRESSE;
CString m_NAME;
CString m_STAAT;
CString m_ZIP;
//}}AFX_DATA
// Attribute
public:
CSQL21Doc* GetDocument();
// Operationen
public:
// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(CSQL21View)
public:
virtual CRecordset* OnGetRecordset();
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void DoDataExchange(CDataExchange* pDX);
// DDX/DDV-Unterstützung
virtual void OnInitialUpdate(); // das erste mal nach der Konstruktion aufgerufen
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL
// Implementierung
public:
virtual ~CSQL21View();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generierte Message-Map-Funktionen
protected:
//{{AFX_MSG(CSQL21View)
// HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MsgBox
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // Testversion in SQL21View.cpp
inline CSQL21Doc* CSQL21View::GetDocument()
{ return (CSQL21Doc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif
// !defined(AFX_SQL21VIEW_H__1C3BFD8B_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Die Datei StdAfx.cpp
// stdafx.cpp : Quelltextdatei, die nur die Standard-Includes einbindet
// SQL21.pch ist die vorcompilierte Header-Datei
// stdafx.obj enthält die vorcompilierte Typinformation
#include "stdafx.h"
Die Datei StdAfx.h
// stdafx.h : Include-Datei für Standard-System-Include-Dateien,
// oder projektspezifische Include-Dateien, die häufig benutzt, aber
// in unregelmäßigen Abständen geändert werden.
//
#if !defined(AFX_STDAFX_H__1C3BFD85_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
#define AFX_STDAFX_H__1C3BFD85_6C1D_11D1_866A_EB762E5B5709__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define VC_EXTRALEAN // Selten verwendete Teile der Windows-Header nicht einbinden
#include <afxwin.h> // MFC-Kern- und -Standardkomponenten
#include <afxext.h> // MFC-Erweiterungen
#include <afxdisp.h> // MFC OLE-Automatisierungsklassen
#include <afxdb.h> // MFC ODBC-Datenbankklassen
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC-Unterstützung für gängige Windows-Steuerelemente
#endif // _AFX_NO_AFXCMN_SUPPORT
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio fügt zusätzliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.
#endif // !defined(AFX_STDAFX_H__1C3BFD85_6C1D_11D1_866A_EB762E5B5709__INCLUDED_)
Markt+Technik Verlag. Elektronische Fassung des Titels: SQL in 21 Tagen, ISBN: 3-8272-2020-3