neofenix
Messages postés145Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention11 mars 2010
-
2 août 2007 à 10:40
neofenix
Messages postés145Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention11 mars 2010
-
2 août 2007 à 12:07
bonjour a tous,
voila je suis depuis un moment sur un projet personnelle et je me casse la tete depuis un moment sur un probleme.
Alors j'ai une base de données mysql sur un ordinateur distant j'arrive a creer un compte mais j'ai voulu modifier ma base en ajoutant deux champs et depuis je me retrouve avec la meme erreur:
La référence d'objet n'est pas définie à une instance d'un objet.
J'ai donc placé un espion pour connaitre la valeur et voila ce que je recupere: erreur : l'identificateur 'req' est hors de portée
J'ai donc supposé que j'avais dépassé la taille limite pour un string.
voila mon code:
//permet de creer un compte
int CreaterAccount(HWND hWnd, char* adr, char* log, char* mdp, char* pays, char* poin, char* connect, char* connu)
{
const char * hostname,*user,*password;
unsigned int port;
MYSQL *mysqlconnexion;
//initialisation des parametres de connexion
hostname="monserv";
user="user";
password="monpassword";
port=3306;
//initialisation du gestionnaire de la connexion à la base de données mySQL
mysqlconnexion=mysql_init(NULL);
if(!mysqlconnexion)
{
MessageBox(hWnd,"Echec de l'initialisation du gestionnaire de la connexion mysql","Erreur",MB_OK);
return -1;
}
//tentative de connexion au serveur mySQL
if (!mysql_real_connect(mysqlconnexion,hostname,user,password,"waracademy",port,NULL,0))
{
MessageBox(hWnd,"Echec lors de la tentative de connexion au serveur mySQL","Erreur",MB_OK);
return -1;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
string req ="INSERT INTO `mabase`.`joueur`(`pseudo` ,`mdp` ,`mail` ,`id` ,`idclan` ,`connec` ,`pointure`,`connu`,`pays`)";
req =req+ "VALUES ('";
req =req+ log;
req =req+ "', '";
req =req+ mdp;
req =req+ "', '";
req =req+ adr;
req =req+ "', NULL,NULL,'";
req =req+ connect;
req =req+ "', '";
req =req+ poin;
req =req+ "', '";
req =req+ connu;
req =req+ "', '";
req =req+ pays;
req =req+"')";
mysql_query(mysqlconnexion,req.c_str());
// fermeture de la connexion et libèration du pointeur de connexion mysqlconnexion
mysql_close(mysqlconnexion);
MessageBox(hWnd,"Votre compte à été crée correctement.","Creation de compte",MB_OK);
return 0;
Voila je vous remercie d'avance et espere ue vous trouverez mon probleme
Cordialement,
Neofenix
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 2 août 2007 à 11:34
Le pb n'est pas une taille limite de string. Avant d'atteindre une string de 2Go tu as de la marge. Mais tu essais de lire une variable qui n'est accessible que dans ta fonction. Tu ne peux pas lire la valeur de ta string sauf si tu utilises le débuggeur.
neofenix
Messages postés145Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention11 mars 2010 2 août 2007 à 12:07
bah en fait j'avais pas depassé la limite du string mais ma variable connu étais defini en globale et en locale (j'avais oublié de l'enlever) donc sa posait un probleme
merci luhtor je venais de trouver a l'instant