C++ e MySQL


// connette a mysql e stampa la prima colonna della tabella selezionata;
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
#include <iostream>

using namespace std;

const char* host = “localhost”; // host di connessione
const char* database = “nome_database”; // database di connessione
const char* db_user = “nome_utente”; // nome utente per la connessione
const char* db_pass = “password”; // password non cifrata
const char* query = “select * from cliente”; //comando

int main()
{
MYSQL mysql;
MYSQL_RES* result;
MYSQL_ROW row; // restituisce NULL se non avviene con successo
if (! mysql_init (&mysql)) {
printf (“Errore nella allocazione di memoria.\n”);
exit (EXIT_FAILURE);
}
if (! mysql_real_connect (&mysql, host, db_user, db_pass, “”, 0, NULL, 0))
{
printf (“Errore nella connessione.\n”);
exit (EXIT_FAILURE);
}// restituisce zero se avviene con successo
if (mysql_select_db (&mysql, database))
{
printf (“Errore nella selezione del database.\n”);
exit (EXIT_FAILURE);
}
printf (“Connessione avvenuta.\n”); // esegue la query
if (mysql_query (&mysql, query))
{
printf(“Errore nella query.\n”);
goto error;
}
result = mysql_store_result (&mysql);
cout << “Codice cliente\t” << “Partita IVA\t” << “Ragione sociale\n”;
cout << “———————————————–\n”;
while(( row = mysql_fetch_row(result)) != NULL)
{
cout << row[0] << “\t” << row[1] << “\t” << row[2] << endl;
}
cout << endl;
error:// chiude le risorse
mysql_close (&mysql);
exit (EXIT_SUCCESS);
}

Per compilare si deve usare:

g++ -o file_out $(mysql_config --cflags) file_in.cpp $(mysql_config --libs)

Per utilizzare il MySQL++ non sono ancora riuscito a farlo funzionare, comunque lascio dei riferimenti:

http://forge.mysql.com/wiki/Connector_C%2B%2B
http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html
http://tangentsoft.net/mysql++/doc/html/refman/
http://tangentsoft.net/mysql++/doc/html/userman/
http://tangentsoft.net/mysql++/

Lascia un commento