Probleme avec une string

Résolu
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010 - 2 août 2007 à 10:40
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 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

3 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
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.
3
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
2 août 2007 à 10:42
désolé pour la taille de la police j'ai pas fais gaffe ^^
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 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
0
Rejoignez-nous