|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : février 2007 Messages : 91 ![]() |
J'utilise la "library" libpq afin d'accéder à une base de donnée PosgreSQL à partir d'un programme en C.
Mon soucis est de récupérer une clé primaire à l'aide de la fonction PQgetvalue(). Cela fonctionne très bien pour tout ce qui est stocké au format texte mais cela ne fonctionne pas du tout pour récupérer une clé. Comment faire? Exemple: res =PQexec("SELECT * FROM \"ma_table\" WHERE toto = 5"); printf("la clé: %i\n", PQgetvalue(res,0,0)); Je devrais obtenir '2' or j'obtiens une valeur du style '2560262' |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : février 2007 Messages : 91 ![]() |
cela n'a pas l'air de passionner les foules
Néanmoins, je m'auto-réponds après une bonne journée de recherches. le bout de code: int field_type; int *int_val; res = PQexecParams(...); field_type =PQftype(res,0); int_val = (int *) PQgetvalue(res, 0, 0); printf("int_val: %i\n",*int_val); Et voilà. Pour se servir de int_val comme paramètre d'un PQexecParams, il faut d'abord le convertir en chaîne. (sprintf() ou itoa()) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com