Forum: PC-Programmierung Anfängerproblem Datenbank in C++


von Bug (Gast)


Lesenswert?

Hi,

Ich habe vor ein Programm zu schreiben, das lokal auf einem PC läuft und 
eine Datenbank im Hintergrund hat, in der verschiedene Personen mit 
ihren Eigenschaften gespeichert sind.
In dem Programm will ich dann Größe (mit größer als) Haarfarbe etc. 
angeben und das Programm soll mir die Person nennen die gesucht ist.
Wie leg ich die Datenbank am besten an?
Excel, Access, SQL und welche Klassen brauch ich da dazu damit ich 
programmieren kann und wo krieg ich diese her?
Achja ich will in C++ programmieren.

Danke schonmal im Vorraus für eure Hilfe
Grüße Buck

von Klaus W. (mfgkw)


Lesenswert?

Mit welchem Compiler/System?
VC++?

von Bug (Gast)


Lesenswert?

Microsoft Visual C++

von Klaus W. (mfgkw)


Lesenswert?

Ich weiß jetzt nicht welche Ausgabe von VC++ du hast (Express,
Professional etc.) und ob da MS-SQL Express dabei ist.
Falls ja, findet sich die Doku dazu unter www.msdn.com bzw. in
der installierten Hilfe.

Eine Alternative ist z.B. mysql. Das ist nicht dabei, ist aber freie
Software und über eine C-API ansprechbar.

Eine weitere Möglichkeit ist natürlich, gar keine fertige DB zu
nehmen, sondern die Datenverwaltung komplett selbst im eigenen
Programm zu erschlagen. Macht mehr Arbeit, aber die schändet ja nicht
und man lernt etwas Neues.

von Karl H. (kbuchegg)


Lesenswert?

Muss es eine echte relationale Datenbank sein oder ist das Ziel der 
Übung einfach nur das arbeiten mit Datenstrukturen?
Hintergrund: Für dein Beispiel ist echte Datenbank ein wenig oversized. 
Auf der anderen Seite benennen Lehrer solche Beispiele gerne mit 
'Datenbank' um die Aufgabenstellung ein wenig aufzupeppen. Gemeint ist 
aber oft das arbeiten mit Datenstrukturen, also Einfügen, Löschen, 
Suchen, Abspeichern, Lesen von linearen Listen, Arrays oder dergleichen.

Deine Aufgabenstellung klingt nach letzterem, dein Lösungsansatz ist 
aber ersteres.

Ansonsten: Es gibt ein paar freie Datenbanksysteme, die man auch gut von 
C++ aus programmieren kann.
SQLite ist zb ein gutes System, weil du dazu keinen Datenbankserver 
benötigst, der erst aufgesetzt und administriert werden muss
http://www.sqlite.org/

von ... (Gast)


Lesenswert?

MySQL wurde ja schon genannt. Eine weitere Alternative wäre PostgreSQL 
(http://www.postgresql.org/), ebenfalls Opensource und ebenfalls über 
eine C-API ansprechbar.
Falls das Ganze nur als Übung gedacht ist ginge auch Access. Ist zwar 
eher eine Krankheit, läßt sich aber von MSVS aus fast genauso ansprechen 
wie MSSQL-Server.

von Peter (Gast)


Lesenswert?

soetwas macht man unter windows mit ODBC. Danach kann man jeden 
datenbank mit ODBC treiber ansprechen. Warum sollte man sich an eine 
spezielle Datenbank binden?

als einstiegt ist hier ein ersten kleines Beispiel.
http://msdn.microsoft.com/en-us/library/ms711810%28VS.85%29.aspx

von Mar V. (marvol)


Lesenswert?

Hallo.

Ich würde auch sqlite empfehlen, da kommst Du schnell zu Deiner 
Programmierung und musst nicht noch einen Datenbankserver einrichten. 
Erste Gehversuche kannst Du mit der Browser machen:

http://sqlitebrowser.sourceforge.net/

Tip: Wenn Du Befehle auf dem Browser absetzt tust, wird die Datenbank 
auf Grund des Schreibbefehles blockiert und Du kommst mit Deinem 
Programm nicht mehr drauf. Also die Programme immer unabhängig testen 
:-)

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

Ich möchte mein Programm abwandeln, so dass die Matrix mit den Daten 
besteht, wenn das Programm beendet wurde. also, dass dieses Programm im 
Aufgabensteller-Modus eine Matrix beschreibt und im 
Aufgabenbearbeitermodus eine bestehende Matrix ausliest und beschreibt. 
Das Ziel soll es sein, dass eine Lehrerperson eine Tabelle auf einen 
Rechner speichern kann, und das Programm auf diese Tabelle zugreift. 
Damit wäre die Lösung des "Schülers" nach Beendigung des Programmes noch 
abgreifbar, da die Matrix/Tabelle extern, also außerhalb des Programmes, 
ersetzt, kopiert, verschoben,... werden könnte.

Damit muss zum Erstellen der Aufgabenmatrix nicht alles über das 
Programm eingegeben werden, sondern könnte einfach eine vorgefertigte 
Tabelle in ein zielverzeichnis gespeichert werden, auf das mein Programm 
zugreift. Die Frage ist nur, wie bringe ich das C++-Programm dazu, aus 
dem Arrey eine Datei zu machen, die ich sehen kann, bzw. in welchem 
Datenformat müsste eine Tabelle geschrieben sein, damit mein 
C++-Programm darin arbeiten kann?

Also ich will auch Datenbanken im Sinne von SQL verzichten und 
einfachste Lösungen bevorzugen.

von Klaus W. (mfgkw)


Lesenswert?

Gehört das jetzt immer noch zur alten Frage von vor 6 Jahren, oder ist 
es eine neue Hausaufgabe?

Oder bist du der Sohn vom Bug und führst jetzt sein Erbe weiter?

von PittyJ (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.