libpq: PQexecParams SQL-Statment mit IN Operator

Hallo

Ich habe eine c++ Programm mit dem ich über libpq auf eine PostgreSQL-Datenbank zugreife.
Für das Ausführen von Befehlen benutze ich die Funktion PQexecParams. Bis jetzt hat das auch immer funktioniert, aber jetzt habe ich mit folgendem SQL-Statment ein Problem:

SELECT * FROM event WHERE event.id IN (1,2,3,4,5)

Der C++ Code dazu sieht wie folgt aus:

const char* values[1] ;
values[0] = "1,2,3,4,5";

res = PQexecParams(dbConnection,
            "SELECT * FROM event WHERE event.id IN($1)",
            1, 
            NULL, 
            values, 
            NULL, 
            NULL, 
            0);

Dieser Aufruf schlägt immer mit folgender Meldung fehl:

FEHLER: ungültige Eingabesyntax für ganze Zahl: 1,2,3,4,5

Führe ich den SELECT über PGAdmin aus erhalte ich keinen Fehler.
Weiß jemand wo der Fehler liegt?

Grüße

Michael

PG sieht da wohl einen STRING ‘1,2,3,4,5’, keine Aufzählung von INT’s.

test=*# select * from kunden where id in (1,2,3);
 id |  name
----+--------
  1 | kunde1
  2 | kunde1
  3 | kunde1
(3 rows)

Time: 0,244 ms
test=*# select * from kunden where id in ('1,2,3');
ERROR:  invalid input syntax for integer: "1,2,3"
LINE 1: select * from kunden where id in ('1,2,3');

Hm so was ähnliches habe ich mir auch schon gedacht…

Hat den jemand eine Idee wie man das mit PQexecParams() “richtig” macht ohne eine Schleife oder PQexec() zu benutzen?