mysql c-api?
-
hallo leute.
ich bin grade am verzweifeln mit der mysql c-api.
habe jetzt etliche tutorial-seiten durchforstet und weiss im prinzip wie ich die api nutze.
doch irgendwie bekomm ich es nicht hin mein c-file unter borland c++5.02 ans laufen zu bringen.ich hab gelesen, dass ich die libmysqlclient.lib oder/und .dll einbinden muss
und im c-file die mysql.h inkludieren.aber irgendwie geht das nicht, oderich weiss nicht wie ich das mache.
achja... das programm soll unter windows laufen ^^...könnt ihr mir da vll. helfen?
so dass ich die funktionen nutzen kann?
weil ich verzweifel wirklich
-
Welche Fehlermeldung kommt bei kompelieren?
Weil ohne Fehlermeldungen können wir nix anfangen und nicht richtig helfen, sondern nur raten.Hast du die Datei winsock.h vor mysql.h includiert???
Hast du die libmysql.lib ins BCB Format konventiert?
-
Vorsicht, geht hier micht um den Borland C++ Builder sondern um Borland C++ 5.0x!
-
DJ BlackEagle schrieb:
Welche Fehlermeldung kommt bei kompelieren?
Weil ohne Fehlermeldungen können wir nix anfangen und nicht richtig helfen, sondern nur raten.Hast du die Datei winsock.h vor mysql.h includiert???
Hast du die libmysql.lib ins BCB Format konventiert?erm... bekomme folgende fehlermeldung
Info :Building...
Info :Linking C:\mysql\lib\opt\libmysql.dll
Info :Transferring to C:\BC5\BIN\implib.exe @C:\DOKUME1\ADMINI1\LOKALE~1\Temp\RSP0.$$$
Info :Compiling C:\Dokumente und Einstellungen\Administrator\Desktop\proj.c
Error: MYSQL.H(57,23):Unable to open include file 'mysql_com.h'
Error: MYSQL.H(58,23):Unable to open include file 'mysql_version.h'
Error: MYSQL.H(97,27):Too many types in declaration
Error: MYSQL.H(109,38):Unable to open include file 'my_alloc.h'
Error: MYSQL.H(115,17):Declaration missing ;
Error: MYSQL.H(167,11):Declaration missing ;
Error: MYSQL.H(173,23):Declaration missing ;
Error: MYSQL.H(214,23):Declaration missing ;
Error: MYSQL.H(234,10):Declaration missing ;
Warn : proj.c(11,13):Possible use of 'dbHandle' before definitionund so sieht die source aus:
#include <stdio.h> #include "c:\\mysql\\include\\mysql.h" /* prototypes */ int main(void); int main(void) { MYSQL *dbHandle; dbHandle = mysql_init(dbHandle); dbHandle = mysql_real_connect(dbHandle, "localhost", /* on what host */ "arnold", /* the user */ 0, /* no password */ "test_arnold", /* the database */ 0, /* don't change the port number */ 0, /* don't change the UNIX socket */ 0); /* client flag */ /* at last close the connection */ mysql_close(dbHandle); return 0; }und wie konvertiere ich die .lib in das format?
und was muss ich dann machen *confused*
-
Mysql.h bindet weitere Dateien ein, deshalb einen Suchpfad auf das mysql/include-Verzeichnis setzen.
Rob'
-
#include <stdio.h> #include <winsock.h> #include "c:\mysql\include\mysql.h" /* prototypes */ int main(int argc, char* argv[]) { MYSQL *dbHandle; dbHandle = mysql_init(NULL); dbHandle = mysql_real_connect(dbHandle, "localhost", /* on what host */ "arnold", /* the user */ "", /* no password */ "test_arnold", /* the database */ 0, /* don't change the port number */ 0, /* don't change the UNIX socket */ 0); /* client flag */ /* at last close the connection */ mysql_close(dbHandle); return 0; }Du mußt dann den include Path noch setzen für die anderen *.h von mysql-source.
Weil er die ja nicht finden kann..mit implib geht das...
-
Rob' schrieb:
Mysql.h bindet weitere Dateien ein, deshalb einen Suchpfad auf das mysql/include-Verzeichnis setzen.
Rob'
wie setze ich einen suchpfad?
-
also ich habs jetzt soweit geschafft, dass das compilieren ohne probleme läuft... nun muss ich nur noch die dlls einbinden, doch da scheitere ich... könnt ihr mir da nen paar hinweise zu geben und wie ich die einbinde und vor allem wo?
und noch welches format (.dll, .lib) ich weiss es nämclih nich... wäre für hilfen echt dankbar...danke
Q
-
die .dll muß da liegen wo die exe datei ist.
eine datei .lib mußt du einbinden, wie ich sagte mußt du die konventieren zum Borland .lib
Wie du ne lieb eibindest mit dem bcc5.5 mußt du in der Hilfe schauen, die dabei ist. Weil ich lange mit dem nicht gearbeitet habe.
Tip: ilink32.exe ist für das linken zu ständig, dazu muß du mal in der Help nachschauen. Lerne bitte auch mal in der Hilfe nach zu schauen....
-
Die libMySQL.dll muß nicht im gleichen Verzeichnis wie die .exe sein. Sie darf sich auch im Windows- bzw. im Systemverzeichnis befinden.
Rob'
-
Rob' schrieb:
Die libMySQL.dll muß nicht im gleichen Verzeichnis wie die .exe sein. Sie darf sich auch im Windows- bzw. im Systemverzeichnis befinden.
Rob'
Wie ich schon bereits gesagt hatte.Ins Windows- bzw. im Systemverzeichnis rate ich immer ab. Weil sonst wird die meistens schon von windows geladen.
Und programme sollten immer die Dateien zusammen halten und nicht teilen.
-
danke für eure hilfen.
ich habs letztendlich mit eclipse und gcc gemacht.
war zwarn bisls aufwendig, aber jetzt gehts
thx trotzdem
greetz
Q