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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...