Salve,
ho un piccolo problema con l'utilizzo di c++ e MySql. In breve, volendo inserire nella SELECT dopo la clausola WHERE una variabile, nell'esempio 'A' non riesco a fargliela riconoscere e, pertanto, non riesco atrovare solo quei records che di volta in volta 'A' potra' assumere nel programma che dovro' sviluppare. lanciando il programma infatti non visualizzo i dati del primo record ponendo 'A' uguale a 45 vi posto il codice
Grato per i suggerimenti resto in attesa della soluzionecodice:#include <windows.h> #include <iostream> #include <mysql/mysql.h> #include <string.h> using namespace std; int main() { MYSQL *sock; sock = mysql_init(0); if (!sock) { cout << "Errore durante l'inizializzazione dell'oggetto MYSQL " << endl << mysql_error(sock) << endl; system("PAUSE"); return -1; } //Parametri di connessione char *host = "localhost"; //Hostname char *user = "root"; //user char *pass = "prova"; //password char *db = "demo"; //database if (!mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0)){ cout << "Errore durante la connessione MYSQL " << endl << mysql_error(sock) << endl; system("PAUSE"); return -1; } int A; A=45; if (mysql_query(sock,"select idcliente,nome,cognome from clienti where idcliente = 'A' ")) { cout << "Errore durante l'esecuzione della query " << endl << mysql_error(sock) << endl; system("PAUSE"); return -1; } MYSQL_RES *result; result = mysql_store_result(sock); if (result) // Se ci sono righe { MYSQL_ROW row; // retrieve rows, then call mysql_free_result(result) while ((row = mysql_fetch_row(result))){ cout << " IDCLIENTE:" << row[0]; cout << " NOME:" << row[1]; cout << " COGNOME:" << row[2]<<endl; } mysql_free_result(result); } int codice; char cognome[50]; char nome[50]; char sql[255]; cout<<endl << "INSERIRE IL CODICE CLIENTE :" ; cin>>codice; cout<<endl << "INSERIRE IL COGNOME CLIENTE :" ; cin>>cognome; cout<<endl << "INSERIRE IL NOME CLIENTE :" ; cin>>nome; sprintf(sql,"INSERT INTO clienti VALUES (%d,\'%s\',\'%s\')",codice,cognome,nome); cout<<sql; //Eseguo la query di comando con l'istruzione mysql_query mysql_query(sock,sql); if (mysql_affected_rows(sock) != 1) { cout << "Errore durante l'esecuzione della query " << endl << mysql_error(sock) << endl; system("PAUSE"); return -1; } system("PAUSE"); mysql_close(sock); return EXIT_SUCCESS; }![]()

Rispondi quotando