Probleme avec une string

[Résolu]
Signaler
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
-
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

3 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
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.
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010

désolé pour la taille de la police j'ai pas fais gaffe ^^
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010

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