[C++] Datenbank einlesen für Dummies

cotd

Grünschnabel
Hallo Forum :)


Ich hab schon alles durchgesucht, aber hab entweder keine Suchskills oder bin einfach zu dumm, um mir selbst zu helfen.

Brauche Hilfe für ein Programm:

Anforderungen:


Datenbank liegt auf PC (am liebsten eine Openoffice DB, da OO schon installiert ist. Wenn es aber kostenlose Alternativen gibt, würde ich eure bevorzugten Vorschläge auch gerne entgegennehemen.)

Die Datenbank soll von meinem Programm nur eingelesen werden. Spaltenzahl konstant. Zeilenzahl variiert und müsste bei jedem Programmstart neu gelesen werden. Die Variation wird nicht mit meinem Program vorgenommen.

Ich benutze Visual Studio 2010 Express.

C++ als Sprache.

Windows 7.

Hab einfach ein neues Projekt als Windows Form Application angelegt.

Nun meine Fragen:

1. Welches Framework benutze ich ? Das muss ich ja wissen, damit ich nach Hilfe suchen kann.

2. Hab ich das richtig verstanden: Man hat eine Datenbank und braucht Bibliotheken, damit man sich Programmierarbeit spart. Die bindet man in C++ ein und kann dann mit vorgegebenen Befehlen auf die Datenbank zugreifen etc.
Fehlt hier etwas, das man berücksichtigen muss ? Was sind zum Beispiel Treiber ?

3. Was sind Begriffe wie ADO, ODBC, MFC ? Eigentlich muss ich nur wissen, was davon ich brauche um nach neuen Beiträgen zu suchen.


Vielen, vielen Dank für eure Hilfen und einen kurzen Einstieg in die Thematik,
bin langsam echt verzweifelt, da das für mich wirklich kompliziert ist.

Lg,
cotd
 
Ich brauch wirklich Hilfe, wäre echt super, wenn ihr mir auch nur eine meiner Fragen zum Teil beantworten könntet, damit ich weiter suchen kann.

Vielen Dank !
 
Hi und nachträglich Willkommen bei tutorials.de .)

Zu 1: OpenOffice bietet die nötigen Sachen zum Zugriff aus C++ selber an.
Wenn man nach "Openoffice API" sucht, findet man Download sowie (angeblich) Beispiele und Beschreibungen.
Diese sind jedoch zurzeit nicht erreichbar, laut der OpenOfficeseite wird die Seite überarbeitet und ist erst in 4-5 Tagen wieder komplett erreichbar.

Zu 2: Ja, das hast du richtig verstanden.
Die OO-Bibliothek gibts deswegen, damit nicht jeder alles neu schreiben muss und sich die meiste Arbeit diesbezüglich erspart.
Welche Befehle die Bibliothek zur Verfügung stellt (und Beispiele dazu), sollte auf der Internetseite stehen...wenn sie wieder funktioniert.

Treiber habe mit der Sache her wenig zu tun.
Meistens meint man damit sowas wie eine Softwareschnittstelle zu bestimmten Geräten im Computer.
Wenn ein Programm zB Musik abspielen will, ruft es dafür eine Funktion vom Betriebssystem auf.
Dieses schickt die Musik aber nicht direkt zur Soundkarte, sondern zum Treiber davon.
Der steuert dann, was die Soundkarte macht.

Warum man das so macht? Die wenigsten Soundkarten können Musik abspielen, wenn sie Byte für Byte von der Festplatte hin übertragen wird.
Damit kann die Karte einfach nichts anfangen.
Das Treiberprogramm versteht das aber und ändert die Daten so um, dass sie von der Soundkarte verstanden werden.

Wenn Microsoft diese Übersetzungsfunktion direkt ins Windows einbauen würde, könnten sie für alle Soundkartenmodelle der Welt (und Motherboards, Drucker, USB-Stecker etc) eine Sonderbehandlung machen, weil jedes Gerät, vor allem wegen den verschiedenen Herstellern, seine Daten irgendwie anders haben will.
Unmöglich viel Arbeit.
Deshalb gibt der Hersteller beim Kauf eine CD mit seinem Treiber mit, der speziell für sein Gerät passt.

Ergänzung zu 3:
ADO ist ein Datenbankzugriffsframework von Microsoft. Wenn du die Openofficebibliothek verwendest, solltest du das aber nicht benötigen.
ODBC ist vpm Zweck her das Gleiche, nur ein bisschen "purer". ADO ist quasi ein Framework, das selber wieder ODBC verwendet.
MFC: Auch ein Microsoftframework, aber für mehr Sachen als Datenbanken.
zB grafische Fenster (Die Winforms sind quasi der Nachfolger, da MFC schon älter ist), Internetverbindungszeug...
Du brauchst eigentlich nicht von den drei Sachen.

...Moment: Du schreibst, du hast ein "Winforms-Projekt". Bist du dir sicher, das du echtes C++ verwendest?
Naja, ist eigentlich egal. Die Openoffice API gibts auch für .NET

Gruß
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück