Stefano (Ex-Member)
Rookie
Messaggi: 32
Iscritto: 27/12/2007
|
Salve ho un programma che nonostante le mie ripetute ricerche su google non ha ancora trovato una soluzione:
Codice sorgente - presumibilmente C++ |
/* Definizione classe database */ #pragma warning class Cdb { public: Cdb(); ~Cdb(); char* host; char* user; char* password; char* db; MYSQL conn; //struttura per la connessione my_ulonglong risult_num,risult2; //numero risultati MYSQL_RES *risultato; //struttura per il risultato MYSQL_RES *risultato2; MYSQL_ROW row; //variabile che memorizza una riga void connect() { mysql_init(&this->conn); //inizializza la struttura per la connessione mysql_options(&this->conn,MYSQL_OPT_COMPRESS,0); if (!mysql_real_connect(&this->conn,this->host,this->user,this->password,this->db,0,NULL,0)) //Connetto al DB { fprintf(stderr,"Errore nella connessione al database: %s\n", mysql_error(&this->conn)); dbconn = false; //getchar(); //exit(1); } } void disconnect() { /*Al termine della classe distruggo il puntatore del db*/ mysql_close(&this->conn); } }; Cdb::Cdb() //Costruttore { } Cdb::~Cdb() // Distruttore { } Cdb vwardb; vwardb.connect();
|
Al momento della compilazione (USO VS2005), questa si ferma:
1>db_class.h(51) : error C2143: errore di sintassi: ';' mancante prima di '.'
1>db_class.h(51) : error C4430: identificatore di tipo mancante, verrà utilizzato int. Nota: default-int non è più supportato in C++
1>db_class.h(51) : error C2371: 'vwardb': ridefinizione. Tipi di base differenti.
Cercando soluzioni su google, inerenti agli errori, non sono venute a me soluzioni reali. Chiedo aiuto
Ultima modifica effettuata da Stefano il 17/09/2009 alle 22:17 |
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
E l'include di mysql dove sta?
Quale compilatore usi?
|
|
Stefano (Ex-Member)
Rookie
Messaggi: 32
Iscritto: 27/12/2007
|
uso vs2005.
L'include di mysql sta in altre librerie, questa è una specifica
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Postato originariamente da Stefano:
uso vs2005.
L'include di mysql sta in altre librerie, questa è una specifica |
Altre librerie? Cosa intendi?
In ogni caso, l'include deve stare anche all'inzio di questo codice, altrimenti come fa il compilatore, ad esempio, a sapere cosa e'
MYSQL
o
MYSQL_RES
??? |
|
Stefano (Ex-Member)
Rookie
Messaggi: 32
Iscritto: 27/12/2007
|
praticamente il progetto è composto da:
- main.cpp (dove ci sono i riferimenti a mysql)
- db_class.h (viene incluso dopo i riferimenti in main.cpp)
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Quindi questa linea
vwardb.connect();
sta al di fuori di qualsiasi funzione ... e questo non e' consentito in un programma C/C++ ...
|
|
Stefano (Ex-Member)
Rookie
Messaggi: 32
Iscritto: 27/12/2007
|
Postato originariamente da theprogrammer:
Quindi questa linea
vwardb.connect();
sta al di fuori di qualsiasi funzione ... e questo non e' consentito in un programma C/C++ ... |
grazie mi ero proprio dimenticato di questa cosa, d'altronde è tre mesi che non tocco il c++ :S |
|