Zum Inhalt springen

mysql++ API , woher ?


Andy133

Empfohlene Beiträge

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 von Andy133
Link zu diesem Kommentar
Auf anderen Seiten teilen

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++?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi, eigentlich wollte ich es in C++ haben

cout und cin ? :rolleyes:

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von duggy
Link zu diesem Kommentar
Auf anderen Seiten teilen

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