PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL++ problem und weitere fragen



Gaara
08.06.2010, 18:02
hi leute, ich bin schon den ganzen tag am googlen da ich gerne in einem meiner programme mit SQL arbeiten würde... gestoßen bin ich dabei auf 2 bibliotheken. die 1. is SQLite wobei ich hier mehrmals gelesen habe dass es performance probleme gibt wenn man schnell und viel bearbeiten will, außerdem hat der gebraucht irgendwie nicht funktioniert da ich die .lib datei bei den downloads nicht gefunden habe <.<

die 2. die mir eig. auch recht sympathisch von der syntax ist, ist MySQL++. hab mir die MySQL C API runtergeladen und installiert, hab in meinem projekt alle nötigen header eingefügt und bin desweiteren nach diesem A Tiny MySQL++ Tutorial; C++ and MySQL; MySQL++ Example « Web Development – Programming – Coding Recipes (http://codingrecipes.com/a-tiny-mysql-tutorial-c-and-mysql-example)
tutorial vorgegangen. verstanden hab ich den source, aber der autor spricht unten von einem Makefile wo ich um ehrlich zu sein nicht weis was das ist, ich hab das file erstellt und Code::Blocks in den properties angegeben wo dieses makefile sich befindet. tu ich das nicht bekomm ich einen compiler fehler(5 um genau zu sein), tu ich es steht da 0 errors 0 warnings aber tun tut sich rein garnichts.

ich hoffe jemand kann mir mit MySQL++ helfen, paar tips geben oder was es sonst noch so gibt. sollte jemand gute erfahrung mit einer anderen lib gemacht haben und die zeit haben mir diese bisschen nahe zu bringen wär ich sehr dankbar :)

GregorSamsa
08.06.2010, 18:32
Ich habe mal mit der MySQL Lib für C kurz gearbeitet, ist auch ziemlich Simpel.

Hier ein paar Teile meines Source, in dem das wichtigste drinsthet.
Ich glaube ich mache dazu nachher mal ein Paper...



MYSQL mysql_con;
MYSQL_RES *res;
MYSQL_ROW daten;

if(!mysql_init(&mysql_con))
return 0;
if(!mysql_real_connect(&mysql_con, server, user, password, database, 0, NULL, 0))
return 0;

sprintf(query, "SELECT * FROM user WHERE k_id=%s;", buffer);

if(mysql_query(&mysql_con, query))
{
printf("%s\n", mysql_error(&mysql_con));
return 0;
}

res = mysql_store_result(&mysql_con);

daten = mysql_fetch_row(res);
printf("%s - %s - %s\n", daten[0], daten[1], daten[2]);

mysql_close(&mysql_con);

So läuft die MySQL-Geschichte

Gaara
08.06.2010, 18:41
sry für die blöde frage aber welche lib is das jetzt? weil nach MySQL++ siehts nicht aus und sollte das die standart C lib sein bringt mir das glaub ich nichts da ich in c++ code. falls ich mich täusche oder was missverstehe entschuldig ich mich schonmal^^

GregorSamsa
08.06.2010, 18:51
Das ist die Standart MySQL Library von MySQL :: Download Connector/C (http://www.mysql.de/downloads/connector/c/) - die Datei dafür ist libmysql2.lib, eingebunden mit
#pragma link "libmysql2.lib"

Das kannst du sowohl in C als auch in C++ nutzen. Das ist zwar standartmäßig für C, du kannst auch die für C++ nutzen, aber das musst du wissen.

So siehst du zumindest, wie einfahc du das einbinden kannst.

Gaara
08.06.2010, 18:57
ok danke dafür schonmal, werd ich mir nun mal anschaun. wie insert usw. funzt werd ich dann versuchen selbst hinzubekommen. sollte ich es nicht hinbekommen melde ich mich nochmal :) vielen dank

GregorSamsa
08.06.2010, 19:20
Ob INSERT, SELECT, UPDATE oder DELETE - alles läuft über mysql_query(&mysql_con, query)