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); }

Rispondi quotando