www.mikrocontroller.net

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


Autor: Bug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit welchem Compiler/System?
VC++?

Autor: Bug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Microsoft Visual C++

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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%2...

Autor: Mar Vol (marvol)
Datum:

Bewertung
0 lesenswert
nicht 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 
:-)

Autor: Andreas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: PittyJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.