Andy133 Geschrieben 28. Mai 2008 Geschrieben 28. Mai 2008 (bearbeitet) Hallo Leute. Ich versuche in C++ auf eine MYSQL Datenbank zu connecten. Dafür brauche ich allerdings die C API für MYSQL. Woher krieg ich die? Ich finde im google nichts. Brauche halt üblich include files wie mysql.h , mysql_time.h usw. Zudem Code habe ich noch eine Frage. Ich möchte gerne das der Benutzername und das Password abgefragt wird und nicht fest im CPP code intrigiert ist. Wie mache ich das am besten ? #include <winsock.h> #include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; conn = mysql_init ( NULL ); mysql_real_connect ( conn, /* pointer to connection handler */ "localhost", /* host to connect to */ "username", /* user name */ "password", /* password */ "database", /* database to use */ 0, /* port (default 3306) */ NULL, /* socket or /var/lib/mysql.sock */ 0 ); /* flags (none) */ mysql_query(conn,"show tables"); res = mysql_store_result(conn); while ( row = mysql_fetch_row(res) ) { printf ("%s\n", row[0]); } printf ("\n%lu rows affected\n", (unsigned long) mysql_num_rows(res)); mysql_close(conn); return 0; }[/PHP] Bearbeitet 28. Mai 2008 von Andy133
Klotzkopp Geschrieben 29. Mai 2008 Geschrieben 29. Mai 2008 Ich versuche in C++ auf eine MYSQL Datenbank zu connecten. Dafür brauche ich allerdings die C API für MYSQL.Kann es sein, dass du C und C++ wild durcheinanderwirfst? MySQL++ (aus dem Threadtitel) ist eine C++-API. Dein Code "Beispielcode" ist übrigens in C. Woher krieg ich die?Im Zweifelsfall hier: C: MySQL :: MySQL 5.0 Downloads (Wenn 5.0 die Version deiner Datenbank ist) C++: MySQL++ Zudem Code habe ich noch eine Frage. Ich möchte gerne das der Benutzername und das Password abgefragt wird und nicht fest im CPP code intrigiert ist. Wie mache ich das am besten ?C oder C++?
duggy Geschrieben 29. Mai 2008 Geschrieben 29. Mai 2008 Wenn ich zuhause bin kann ich dir eine Präsentation von mir + Qullcodes geben...^^
Andy133 Geschrieben 29. Mai 2008 Autor Geschrieben 29. Mai 2008 Kann es sein, dass du C und C++ wild durcheinanderwirfst? C oder C++? Hi, eigentlich wollte ich es in C++ haben Wenn ich zuhause bin kann ich dir eine Präsentation von mir + Qullcodes geben...^^ Ja das wäre super :beagolisc
TDM Geschrieben 29. Mai 2008 Geschrieben 29. Mai 2008 Hi, eigentlich wollte ich es in C++ haben cout und cin ? btw: Notfalls kannst du es auch einfach per Programmargument übergeben... Dann muss deine Main aber so aussehen: int main(int argc, char* argv[]) Das wäre zumindest C- und C++-konform.
duggy Geschrieben 30. Mai 2008 Geschrieben 30. Mai 2008 (bearbeitet) Folgendes brauchst du für folgendes Beispiel: mysql++-2.3.2.tar.gz - MySQL++ mysql-5.0.45-win32.zip - MySQL :: MySQL 5.0 Downloads #include <mysql++.h> Linker: libmySQL.lib & mysqlpp.lib Die mysql-5.0.45-win32.zip quellcodes brauchst du weil die mysql++2.3.2 darauf basiert, bischen doof gemacht vom Ersteller. Er hat nämlich nur eine Erweiterung geschrieben die auf den offiziellen Libraries bassiert. Du kannst bei dem Setup vom MYSQL Server unter Benutzerdefiniert einstellen das du nur die Entwickler C API haben möchtest. Dann kannst du folgendes Beispiel mit "C++" schreiben: #include <mysql++.h> #include <iostream> using namespace std; using namespace mysqlpp; int main(int argc, char *argv[]) { char sUsername[25]; char sPassword[25]; Connection con(false); ResNSel test; cout << "Username: "; cin >> sUsername; cout << "\nPasssword: "; cin >> sPassword; cout << "\n"; con.connect("test", "127.0.0.1", sUsername, sPassword); cout << "Mysql Server - Version " << con.client_info() << endl; cout << "Client " << con.host_info() << endl; cout << "Protocol " << con.proto_info() << endl; cout << "Server " << con.server_info() << endl; cout << "Status " << con.stat() << endl; cout << endl; //Query query1 = con.query(); //query1.execute("insert into test (name) values ('testUser')"); //cout << con.insert_id() << endl; Query query2 = con.query(); query2 << "select * from test"; Result res = query2.store(); Row row; cout << res.num_rows() << endl; while (row = res.fetch_row()) { cout << row.raw_data(0) << " - " << row.raw_data(1) << endl; } con.close(); system("PAUSE"); return 0; } MFG, Andreas Bearbeitet 30. Mai 2008 von duggy
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden