salve.... ho creato questo programmino per leggere il contenuto di una tabella... ma alla fine mi da questo output...
" inserisci username :*****

inserisci password :*****

inserisci il nome del database al quale connettersi : prova

connesso al database [prova]

leggere il contenuto della tabella?si
Segmentation fault"

e questo è il codice:

codice:
#include <statement.h>
#include <prepared_statement.h>
#include <exception.h>
#include <cppconn/resultset_metadata.h>

using namespace std;
sql::ResultSet *res;
sql::PreparedStatement *stmt;
sql::ResultSetMetaData  *res_md;

int main() 
{
MYSQL _mysql;

mysql_init( &_mysql );

string host = "localhost";
string user;
string password;
string db;

bool connected ;
cout<<"inserisci username :";
getline(cin, user);

cout<<endl;

cout<<"inserisci password :";
getline(cin,password);

cout<<endl;

cout<<"inserisci il nome del database al quale connettersi : ";
getline(cin,db);

cout<<endl;

MYSQL *my = mysql_real_connect( &_mysql, host.c_str(), user.c_str(),password.c_str(),db.c_str(),0,0,0);

if (my){ connected = true;
cout<< "connesso al database ["<<db<<"]";
}
else {
connected = false;
string exc = "Errore di connessione a mysql : " + string( mysql_error( &_mysql ) ) + string( "\n" );
cout<< exc;

}
string risposta;
cout<<"leggere il contenuto della tabella?";
getline(cin,risposta);

if(risposta == "si"){

string query = "select * from persone;";
res = stmt-> executeQuery(query);
res_md = res->getMetaData();

cout<<res->rowsCount();
int i;
for (i =1;i < res_md-> getColumnCount();i++)
{
    cout<<res_md -> getColumnLabel(i);
}
}
 else
 { 
 
mysql_close ( & _mysql );
}
return (0);
}