Requête rebelle codée en C
Bonjour,
Je n'arrive pas à exécuter 2 requêtes, la première passe sans problème. La seconde me met un Segmentation Fault.
Quand je rentre la requête manuellement, pas de soucis, lorsque je l'ajoute par "calcul", ça ne marche plus.
C'est-à-dire que :
Code:
1 2 3 4 5 6 7 8 9
|
strcpy(maRequete,"");
strcat(maRequete,"SELECT SOURCE_ID, TARGET_ID FROM ROUTES WHERE ID = ");
sprintf(resultChar,"%f\0",result);
strcat(maRequete,resultChar);
printf("%s\n",maRequete);
res = PQexec(conn,maRequete);
printf("OK\n"); |
Sur le terminal, j'ai comme résultat :
Code:
1 2
| SELECT SOURCE_ID, TARGET_ID FROM ROUTES WHERE ID = 62500001887857.000000
Erreur de segmentation |
Tandis que si je change le code par :
Code:
1 2 3 4 5 6 7
| strcpy(maRequete,"");
strcat(maRequete,"SELECT SOURCE_ID, TARGET_ID FROM ROUTES WHERE ID = 62500001887857.000000");
strcat(maRequete,resultChar);
printf("%s\n",maRequete);
res = PQexec(conn,maRequete);
printf("OK\n"); |
cela m'affiche :
Code:
1 2
| SELECT SOURCE_ID, TARGET_ID FROM ROUTES WHERE ID = 62500001887857.000000
OK |
Les chaînes de caractères sont pourtant identiques 8O
Merci de me donner un coup de pouce si vous comprenez l'erreur.