begin process at 2012 05 28 22:34:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Base de données

 > 

SQL

 > 

Connexion MySQL en C : Probleme de requete


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connexion MySQL en C : Probleme de requete

jeudi 19 octobre 2006 à 17:35:34 | Connexion MySQL en C : Probleme de requete

janin900

Bonjour,

je voudrais savoir si il est possible en C d'initialiser une connexion avec une BDD type MySQL, et de réaliser des requetes avec cette connexion mais bien plus tard.
Je m'explique :
Etant donné que l'executable est censé excécuter beaucoup de requetes à la BDD, je ne veux pas à chaque fois réinitialiser la connexion à la BDD, mais garder mon pointeur sur mon objet de type MYSQL.
Cependant, entre le moment où j'initialise ma connexion à la BDD et le moment où j'exécute mes requetes, je fais plusieurs opérations dont par exemple du pooling... et ca me provoque des erreurs de style CR_COMMANDS_OUT_OF_SYNC...
Est-ce normal d'après vous ? Y a t'il un moyen de contourner ceci ?

Merci
Julien

jeudi 19 octobre 2006 à 22:57:24 | Re : Connexion MySQL en C : Probleme de requete

Matt67

Bonsoir,

Qu'est ce que le pooling ??? (je connaissais le 8 pool).
Se connecter à une base mysql en début d'appli et se déconnecter quand on a finit, je ne vois le problème. C'est ce que je fais  et je n'ai jamais eu de soucis.
Il me semble, par contre, que si on reste connecté un certain temps, il y a une sorte de time-out qui te deconnecte automatiquement. Mais cela doit être modifiable (voir le my.cnf). J'ai remarqué cela quand j'avais oublié de fermer mon appli avant de partir le soir et la trouver le lendemain matin, déconnectée.

Matt...
jeudi 14 mai 2009 à 17:47:51 | Re : Connexion MySQL en C : Probleme de requete

sambalien

Avec la source suivante j'essaie de connecter access avec C j'utilise le Dec C++ comme compilateur.  apres la compilation le linker renvoie 1 comme valeur et mon exe donne une erreur, j'ignore pourquoi la liason ne se fait pas alors je souhaite avoir votre aide.. merci de bien vouloir me repondre.
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
// #include <sqltype.h>

int main()
{
    SQLHENV environnement;  // cette varible cree l'environnement qui sera le parent de notre connexion
    if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &environnement)) )
        fprintf(stderr, "La fonciton SQLAllocHandle a echoue.\n");
    else
    {
        if ( !SQL_SUCCEEDED(SQLSetEnvAttr(environnement, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0)) )
            fprintf(stderr, "La fonction SQLSetEnvAttr a echoue.\n");
        else {
             SQLHDBC connexion;
             
             if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, environnement, &connexion)) )
                 fprintf(stderr, "La fonction SQLAllocHandle a echoue (SQL_HANDLE_DBC).\n");
             else {
                  SQLCHAR dsn[] = "pays_dsn", uid[] = "melem", pwd[] = "1234";
                  
                  if ( !SQL_SUCCEEDED(SQLConnect(connexion, dsn,SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS)) )
                      fprintf(stderr, "La fonction SQLConnect a echoue.\n");
                  else {
                       SQLHSTMT statement;
                       
                       if( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_STMT, connexion, &statement)) )
                           fprintf(stderr, "La fonction SQLAllocHandle a echoue (SQL_HANDLE_STMT).\n");
                       else {
                                if ( !SQL_SUCCEEDED(SQL_ExecDirect(statement, "SELECT * FROM pays_tbl;", SQL_NTS)) )
                                    fprintf(stderr, "La fonction SQL_ExecDirect a echoue.\n");
                                else {
                                     SQLCHAR pays[15], capitale[15];
                                     printf("PAYS > CAPITALE\n\n");
                                     
                                     while (SQL_SUCCEEDED(SQLFetch(statement)) )
                                     {
                                           SQLGetData(statement, 1, SQL_C_CHAR, pays, sizeof(pays), NULL);
                                           SQLGetData(statement, 2, SQL_C_CHAR, capitale, sizeof(capitale), NULL);
                                           printf("%-14s %-14s", pays, capitale);
                                           }
                                     }
                                    SQLFreeHandle(SQL_HANDLE_STMT, statement);    
                            }
                            SQLDisconnect(connexion);
                       }
                       SQLFreeHandle(SQL_HANDLE_DBC, connexion);
                  }
                 
             }
              SQLFreeHandle(SQL_HANDLE_ENV, environnement);
        }
        return 0;
}



Cette discussion est classée dans : mysql, probleme, connexion, bdd, requetes


Répondre à ce message

Sujets en rapport avec ce message

Probleme Connexion bdd mysql [ par biglulu77420 ] J'ai un souci pour me connecter à ma bdd. J'utilise Devcpp, et je code en C.j'ai des msg d'erreur du type :C:\mysql\lib\opt\mysqlclient.lib(./release/ Mysql probleme de connexion [ par ours_aquatique ] Bonjour je compile avec devC++ sous XP et en utilisant "mysql-4.1.9-win32" , je cherche pour l'instant a creer une fonction console en C++ pour agir d BDD mySQL [ par ronandmcdonald ] Comment crée une base de donnée?? Et comment aller rechercher des infos dans une zone memoire a partir de la bddaidez moi svp Et le programmeur créa.. LOG de BDD [ par casper_2 ] Bonjour jaimerai utiliser un log de base de données pour faire un programme pour la fin de de mon BTS,mais je ne C pas lequel fodrait til prendre.En c echec de connexion !! [ par anonyme_man_in_this_world ] salut, apres l'echec de tous mes tentative pour resoudre le probleme ,j'ai decidé de demandé votre aide les amis . voila mon probleme : lorsque je Connexion MYSQL C++ [ par cerede2000 ] Bonsoir apres une longue recherche dans les codes dans le forum, je me decide a poser ma qustion parceque la je patauge.Alors voila je code avec Dev-C tutoriel sur l'envoi de requetes mysql en C [ par shadow1779 ] Bonjour, comme c'est dis dans le sujet je cherche un tutoriel sur la connection a un server mysql ainsi que l'envoi de requete afin par exemple de les c++ mysql [ par bilhel ] Bonjour,voila mon probleme, j'ai une base de donnée mysql et un programme c++ qui vient se connecter sur cette base sans probleme mais j'aimerais auto connexion a mysql depuis microsoft VC++.net [ par theudd ] bonjour a tous. mon probleme consiste a faire un code pour avoir acces a une base de donnee mysql. la question a ete traite sur ce site pour VC++.6 ma Probleme d'includes c++ base de donnees [ par celineninette ] BONJOUR!!!Voila mon souci!Je dois creer et gerer mes bases de donnees grace à un programme en c++ que je dois développer sous Linux ( et sous KDevelop


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales