[C++] Datenbanken

mer

Grünschnabel
Hallo,

Ich habe ein Projekt in dem ich mit rund 100 Daten von 100 Personen arbeiten muss, also speichern lesen, etc. Das schreit nach SQL. Aus diesem Grund hab ich mir MySQL angeschaut. Das Problem ist nur, dass es mir nicht gelungen ist, eine Datenbank mit VC zu erstellen. Außerhalb von VC ist es mir auch nicht gelungen, da sich CMD-Fenster direkt schließen, wenn sie nicht ins Internet dürfen (was sie nicht sollen, Da das Programm nur die Datenbank von der Festplatte lesen soll)

Hier die Frage:
Welche Version von MySQL braucht man für eine Datenbank die nur auf dem EINEN Computer arbeiten soll. Außerdem wäre ein Link zu einem Tutorial der die Verwaltung einer Datenbank mit C++ erklären wurde sehr hilfreich.

Entschuldigung für die vielen Fragen in meinem ersten Beitrag und Danke für jede Antwort.
 
Du musst dir zuerst den MySQL Server downloaden und dann einen sogenannten Connector entweder für C oder C++.

Ein Tutorial habe ich gerade nicht auf Lager aber du kannst ja mal nach "MySQL C++ Tutorial" suchen.
 
  • Gefällt mir
Reaktionen: mer
Hallo,

also für die geringe Datenmenge scheint mir ein Kaliber wie MySQL und Co. etwas überdimensioniert. Schaue dir doch mal SQLite an. Das ist eine sogenannte Embedded Database, d.h. du kannst die Datenbankengine direkt als Sourcecode in deinem Projekt einbinden. Der Vorteil: Damit das Ganze lauffähig ist, benötigst du nur deine Exe und die Datenbankdatei und keinen Datenbankserver nebst entsprechenden Treibern für den Client.

Gruß
MCoder
 
Hab ich schon alles gemacht. Welche Einstellungen brauch ich im VC 2008 und welche Dateien muss ich includieren. Zuletzt noch die Frage, wo ich die C++ Befehle finde mit denen ich auf die Datenbank zugreifen kann, bzw. erstellen kann?

Danke im voraus.


@MCoder: Ist nur ein vorläufiges programm. Deswegen ist es zwar noch überdimensioniert, aber macht doch Sinn.
 
Du müsstest die DLL oder statische Bibliothek deinem Programm hinzufügen bzw. mitlinken.
Müsstest du irgendwo unter Einstellungen im VC zu finden (benutze VC nicht).
Außerdem brauchst du noch die Headerdatei, in der die Funktionen der DLL definiert sind, diese bindest du per #include ein.
 
Ich habe zuletzt versucht meine probleme selbst zu lösen; leider ohne Erfolg.

Jetzt versuch ich den folgenden Befehl zum laufen zu bringen:
Code:
	MYSQL* mysql;
    mysql = mysql_init(NULL);
In der Headerdatei stehen:
Code:
#pragma comment(lib, "libmysql.lib") 
#include <winsock.h> 
#include <winsock2.h>
#include <C:\Program Files\MySQL\MySQL Server 5.5\include\mysql.h>
Bei den zusätzlichen Abhängigkeiten hab ich:

"C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"
"C:\Program Files\MySQL\MySQL Connector C++ 1.1.0\lib\debug\mysqlcppconn.lib"

Trotzdem kommt die Fehlermeldung:

HTML:
1>SAS_ProgrammDlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mysql_init@4" in Funktion ""protected: virtual void __thiscall CSAS_ProgrammDlg::DoDataExchange(class CDataExchange *)" (?DoDataExchange@CSAS_ProgrammDlg@@MAEXPAVCDataExchange@@@Z)".

Kann mir jemand sagen, welche Bibliotheken ich noch hinzufügen, welche Headerdateien und / oder welche Befehle ich nutzten sollte muss.

Danke im Voraus.
 
Zuletzt bearbeitet:
Bei beiden funktioniert es nicht. Die Fehlermeldung kommt vom Debug. Beim Release kommt eine andere Fehlermeldung, aber im Prinzip mit dem gleichen Inhalt.
 
Binde mal die Debug libs (eigentlich immer "*d.libraries") ein wenn du im debug startest und im release die release, also die ohne 'd' am ende.

Gruß random.
 
Entweder ich bin blind, oder ich finde die Libraries nicht. Das einzige was ich finde sind Debug-Ordner mit *.lib, deren Einbindung aber keinen Effekt bringen.

Was mich aber wundert, ist dass ich keine Header-Datei vom Connector includen muss (bzw. kann, bei denen ich es ausprobiert habe)

mer
 
Zurück