Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 42 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Bibliothèque libpq

 
n°7358
Charlux
Profil : Jeune recrue
Posté le 08-04-2004 à 10:39:14  profilanswer
 

Bonjour,
 
   Je voudrais utiliser la librairie libpq en C. Cette libaririe permet de passer des commandes PostgreSQL.
   Je souhaite insérer des données dans ma base (Insert into), en passant des chaînes de caractères variables et je n'y arrive pas.
 
Mon code:
 
PGconn *conn;
PGresult *res;
const char *conninfo = "dbname = Test";                   /*Test est le nom de ma base*/
char * nom = "Dupont";
 
conn = PQconnectdb(conninfo);
res = PQexec(conn, "INSERT INTO Test VALUES ('Dupont'" );
                    /*ça marche*/
res = PQexec(conn, "INSERT INTO Test VALUES ('nom')" );          
                    /*ça marche pas*/
                    /*insertion de nom et nom Dupont*/
res = PQexec(conn, "INSERT INTO Test VALUES (*nom)" );          
                   /*ça marche pas*/
                   /*insertion de *nom et nom Dupont*/
 
Merci d'avance de vos renseignements
 

n°7361
Charlux
Profil : Jeune recrue
Posté le 08-04-2004 à 11:46:55  profilanswer
 

Pb résolu, voilà la solution
 
#include <stdlib.h>
#include "libpq-fe.h"
 
int main()
{
 /* Variables locales */
 const char *conninfo;
 PGconn *conn;
 PGresult *res;
     
                char prenom[] = "'Patrick'";  
                          /* attention, ne pas oublier les simples quotes*/
 char nom[] = "'Dupont'";
                          /* attention, ne pas oublier les simples quotes*/
 char query_string[500];
 
 /* Nom de la base */
 conninfo = "dbname = Test";
 
 /* Connection à la base */
 conn = PQconnectdb(conninfo);
 printf ("Connexion\
 
            sprintf(query_string, "INSERT INTO Test VALUES(%s,%s)",   prenom, nom);
                res = PQexec(conn, query_string);

 PQclear(res);
 
 /* Deconnection de la base */
 PQfinish(conn);
 
 return 0;
}


Aller à :
Ajouter une réponse