PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbanken o.Ä. mit C++



marco_
23-09-2005, 17:32
Ich denke ich hab mich mittlerweile schon einigermaßen mit den "Grundlagen" von C++ vertraut gemacht, um ein kleineres 'Projekt' zu beginnen. Das Problem liegt nur beim abspeichern, die Einstellungen kann man ja einfach mit einer normalen Textdatei regeln aber wie schaut es bei komplexeren Einträgen aus, von denen man merhere besitzt. Ich dachte da an eine Datenbank mit mysql oder Ähnlichem...könnte mir jemand einen Anhaltspunkt/Beispiel bzw. Stichwörter geben, womit ich mich dann besser zurecht finde?

peschmae
23-09-2005, 18:30
Es kommt halt sehr darauf was genau und wieviel du speicher willst.

Je nach dem wäre auch XML als Datenformat eine bedenkenswerte Möglichkeit. Solange die Datenmengen nicht extrem gross ist (dann brauchst du eine Datenbank ;))

MfG Peschmä

marco_
23-09-2005, 19:53
Eigentlich hatte ich vor ca. 100 Einträge mit gleichem Aufbau anzulegen. Und dazu noch so etwas ähnliches wie Vokabeln, also Wort-Übersetzung. Wobei der Aufbau dort nicht umbeding regelmäßig ist. Kannst du mir vielleicht eine nützliche Seite zeigen in der XML in Verbindung mit C++ erklärt wird?

peschmae
23-09-2005, 21:58
Naja, ich hab noch nie *wirklich* mit XML gearbeitet (d.h. sowas in einem meiner Programme gemacht). Hat mich immer irgendwie etwas abgeschreckt weil mir das ganze eher kompliziert erschien.

Auf jeden Fall unterstützt Qt XML-Zeugs: http://doc.trolltech.com/4.0/qtxml.html
Und sonst gibts auch noch Xerces: http://xml.apache.org/xerces-c/http://xml.apache.org/xerces-c/

Je nach dem ists aber auch einfacher wenn du mit einem selbstdefinierten Textformat was machst.

Unter Umständen wäre auch die Berkley DB was für dich: http://www.sleepycat.com/products/db.shtml die währe etwas weniger Overkill als Mysql oder so ;)

MfG Peschmä

SeeksTheMoon
24-09-2005, 10:07
Für 100 Texteinträge ist meiner Ansicht nach alles was über gewöhnliche C++ Dateiarbeit hinausgeht völliger Overkill.
Datenbanken werden ab ein paar 10.000 Einträgen interessant und XML wenn man weniger Einträge mit komplexer Struktur hat: Viele Nodes, Childnodes, Attribute, Values.

Falls Du doch bei XML bleiben willst: libxml2, xerces-c, tinyxml (am wenigsten Overkill)
Falls Du Datenbanken nehmen willst: sqlite (am wenigsten Overkill und man kann seine Datenbank in einer Datei mit der Anwendung verteilen)

Als Faustregel könnte man sagen: Wenn der Code der Datenverwaltung größer und komplizierter als die Anwendung ist, dann hat man eine Overkill-Variante gewählt :)

marco_
24-09-2005, 12:37
Was sollte ich ansonsten nehmen? Wenn Xml und Datenbanken overkill sind? Ich will doch einfach nur Einträge speichern und diese wieder auslesen und was mit ihnen machen...

Joghurt
24-09-2005, 12:54
Dateien einfach mit fstreams in/aus einen STL-Vector schreiben wäre eine Möglichkeit.