Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

moin

ich suche nen vernünftiges tutorial welches mir die connection von einem c++ konsolenprogramm zu einer mysql db beschreibt ..

wenn ihr wisst wie es geht könnt ihr das natürlich auch schreiben

mfg LordTerra

Geschrieben

hmmm hilft mir net wirklich weiter...

will kein mysql++ sondern normales mysql

thx für hilfe

edit:

#include <stdio.h>

#if defined __WIN32__ || _MSC_VER

#include <windows.h>

#endif

#include <mysql.h>

int main (int argc, char *argv[])

{

MYSQL *my;

my = mysql_init(NULL);

if(my == NULL)

{

fprintf(stderr, " Initialisierung fehlgeschlagen\n");

exit (0);

}

if( mysql_real_connect ( my, 172.0.0.1, root, ***, avs, 0, NULL, 0) == NULL)

{

fprintf (stderr, "Fehler mysql_real_connect():"

"%u (%s)\n",mysql_errno (my), mysql_error (my));

}

else

printf("Erfolgreich mit dem MySQL-Server verbunden\n");

mysql_close (my);

getchar();

return 0;

}

^^ soweit bin ich mittlerweile nur bringt er mit noch ne fehlermeldung:

d:\ws\c++\db3\db3\db3\db3.cpp(41) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive für die vorkompilierte Headerdatei

Fehler beim Ausführen von cl.exe.

ich hab die mysql.h aus dem installierten mysql ordner in meinen quellcode ordner gepackt weil er die datei vorher net gefunden hat... und ich kein plan hab wo ich hier sowas wie nen classpath einricht

Geschrieben

hmmm also die seite hatte ich auch schon gefunden und durchgelesen aber so wirklich auskunft gibt die auch net ...

wo soll ich denn nun die mysql.h her nehmen aus dem installierten mysql ordner oder wie oder was? und soll ich nun noch irgendwo nen pfad setzen oder is der durch die installation schon gesetzt´?

Geschrieben

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

#include "D:/MySQL/MySQL Server 5.0/include/mysql.h"

int main (int argc, char *argv[])

{

MYSQL *my;

/* Handle initialisieren */

my = mysql_init(NULL);

if(my == NULL){

fprintf(stderr, " Initialisierung fehlgeschlagen\n");

exit (0);

}

/* Mit dem Server verbinden */

if( mysql_real_connect (my, "localhost", "root", "***", "avs", 0, NULL, 0) == NULL){

fprintf (stderr, "Fehler mysql_real_connect():""%u (%s)\n",mysql_errno (my), mysql_error (my));

}else{

printf("Erfolgreich mit dem MySQL-Server verbunden\n");

}

/* Hier befindet sich der Code für die Arbeit mit MySQL */

/* Verbindung trennen */

mysql_close (my);

getchar();

return 0;

}

^^ok soweit sogut...

bei der Kompilierung 0 fehler...

beim ausführen:

Linker-Vorgang läuft...

db4.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_close@4

db4.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_errno@4

db4.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_error@4

db4.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_real_connect@32

db4.obj : error LNK2001: Nichtaufgeloestes externes Symbol _mysql_init@4

Debug/db4.exe : fatal error LNK1120: 5 unaufgeloeste externe Verweise

Fehler beim Ausführen von link.exe.

db4.exe - 6 Fehler, 0 Warnung(en)

... was ist ein Nichtaufgeloestes externes Symbol ???

Geschrieben

Hi,

also evtl. solltest du dich mal mit den Grundlagen beschäftigen, statt gleich so Dinge wie die MySQL-Programmierung anzugehen.

Ein nichtaufgelöstes Symbol bedeutet in etwa, dass die in der mysql.h deklarierte Funktion nicht gefunden wird, da dein Linker die entsprechende Library nicht findet. Wie und wo du das konfigurierst, weiss ich nicht. Das muss du irgendwo in deinen Projekteinstellungen machen.

Übrigens programmierst du reines C, und kein C++!

Geschrieben
... was ist ein Nichtaufgeloestes externes Symbol ???

die in mysql.h deklarierte funktion ist in der library nicht vorhanden, deshalb findet sie der linker nicht.

wo soll ich denn nun die mysql.h her nehmen aus dem installierten mysql ordner oder wie oder was? und soll ich nun noch irgendwo nen pfad setzen oder is der durch die installation schon gesetzt´?

die verwendete mysql.h muss zur verwendeten libmysql (auf der windowsplattform in form einer DLL, auf linuxoiden systemen gerne als .so entdeckt) passen. die erst bietet bietet die funktionen an.

und ich kein plan hab wo ich hier sowas wie nen classpath einricht

die mysql-bibliothek muss in den entsprechenden projekteinstellungen dem linker mitgeteilt werden. CLASSPATH betrifft eher java-anwendungen.

du solltest dich auch auf die nomenklatur einigen - einerseits schreibst du C++, dann wieder klassisches C.

s'Amstel

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...