0
J'essaie de supprimer un enregistrement à l'aide de la fonction libpq PQexecParams(). La requête est renvoyée mais la ligne requise n'est pas supprimée de la table. Voici l'extrait de mon code pour référence. J'ai utilisé PQexecParams() pour sélectionner et insérer avec succès. Pourriez-vous s'il vous plaît aider, qu'est-ce qui me manque?Supprimer l'enregistrement à l'aide de la requête PQexecParams() libpq
PGresult *res;
int meter_info_id;
printf ("Enter Meter Information Id");
scanf("%d", &meter_info_id);
char *stm_write_reg = "delete from write_reg_set where meter_id=$1";
int nparam = 1;
//set the values to use
const char *values[1] = {(char *)&meter_info_id};
//calculate the lengths of each of the values
int lengths[1] = {sizeof(meter_info_id)};
//state which parameters are binary
int binary[1] = {1};
res = PQexecParams(conn,
stm_write_reg,
nparam, //number of parameters
NULL, //ignore the Oid field
values, //values to substitute $1 and $2 and so on
lengths, //the lengths, in bytes, of each of the parameter values
binary, //whether the values are binary or not
0); //we want the result in text format
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "stm_write_reg failed: %s", PQerrorMessage(conn));
exit_nicely(conn,res);
}
PQclear(res);