libpq - insert plante

libpq - insert plante - SQL/NoSQL - Programmation

Marsh Posté le 22-09-2008 à 11:10:06    

Salut,
j'écris un programme C qui doit insérer des lignes dans une base PgSQL. J'utilise pour ça la librairie libpq. Voici le bout de code que j'utilise pour insérer :
 

Code :
  1. res = PQexec(conn, "INSERT INTO table (type) VALUES ('caca')" );
  2. if (PQresultStatus(res) != PGRES_TUPLES_OK)
  3. {
  4. fprintf(stderr, "INSERT failed: %s", PQerrorMessage(conn));
  5. PQclear(res);
  6. PQfinish(conn);
  7. }


 
J'obtiens un INSERT failed, mais sans rien derrière, et le programme plante (ceci dit, il insère bien les données dans la table...)

Reply

Marsh Posté le 22-09-2008 à 11:10:06   

Reply

Marsh Posté le 23-09-2008 à 10:13:42    

OK résolu :
 

Code :
  1. /* attention, ne pas oublier les simples quotes*/
  2. char idmachine[]="'666'\0";
  3. char date1[]="'2008-09-09 13:46:04'\0";
  4. char date2[]="'2008-09-09 13:46:04'\0";
  5. char encours[] = "'TRUE'\0";
  6. char donnees[]="'youpla'\0"; //données brutes
  7. char typeevent[]="'canal6'\0";
  8. char query_string[1000];
  9. sprintf(query_string, "INSERT INTO new_events(idmachine,type_event,date_debut,date_fin,en_cours,donnees) VALUES(%s,%s,%s,%s,%s,%s)",idmachine,typeevent,date1,date2,encours,donnees);
  10. res = PQexec(conn, query_string);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed