Thread: Problems with INSERT INTO?
Hi! We are not really sure if this question is right for this mailinglist. We have some problem with INSERT INTO and we dont know how to solve it.We are writing it in a C-program. We are trying to get an integer from a file and put it into a database. And we are sure that we get a interger into our program. When we created the table in the database we set the attribut to int4. We get the problem when we trying to move the interger to the database. int a=500; PQexec(conn, "INSERT INTO octets VALUES(a)"); But the program works when we do like this: PQexec(conn, "INSERT INTO octets VALUES(500)"); It feels like we need to convert int a in some way, byt we dont know how. We are beginners with Postgresql. /Anna and Maria ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
On Mon, 24 May 1999, Anna Langer wrote: > Hi! > We are not really sure if this question is right for this mailinglist. > We have some problem with INSERT INTO and we dont know how to solve it.We > are writing it in a C-program. We are trying to get an integer from a file > and put it into a database. And we are sure that we get a interger into our > program. > > When we created the table in the database we set the attribut to int4. > We get the problem when we trying to move the interger to the database. > > int a=500; > > PQexec(conn, "INSERT INTO octets VALUES(a)"); > > > But the program works when we do like this: > > PQexec(conn, "INSERT INTO octets VALUES(500)"); > > > It feels like we need to convert int a in some way, byt we dont know how. We > are beginners with Postgresql. > > /Anna and Maria > Do this: PQexec(conn, "INSERT INTO octets VALUES(%d)", a); and read up on C's printf family of functions. Simon. -- On October 7, 1998 the routine process of running anti-virus software on a Windows NT server at the Boeing Corporation shut the system down. Evidently, the software identified Windows NT itself as a virus and disabled it. -- http://www.vcnet.com/bmc/departments/nt/bugs.shtml Simon Drabble Somewhere in cyberspace simond@foxlink.net
On Mon, 24 May 1999, Simon Drabble wrote: > On Mon, 24 May 1999, Anna Langer wrote: > > > When we created the table in the database we set the attribut to int4. > > We get the problem when we trying to move the interger to the database. > > > > int a=500; > > > > PQexec(conn, "INSERT INTO octets VALUES(a)"); > > > > > > But the program works when we do like this: > > > > PQexec(conn, "INSERT INTO octets VALUES(500)"); > > > > > > It feels like we need to convert int a in some way, byt we dont know how. We > > are beginners with Postgresql. > > > > /Anna and Maria > > > > Do this: > > PQexec(conn, "INSERT INTO octets VALUES(%d)", a); > > and read up on C's printf family of functions. > > > Simon. > *oops* heh-heh. Do _this_: char query[LOTS_OF_ROOM]; sprintf(query, "INSERT INTO octects VALUES(%d)", a); PQexec(conn, query); and read up etc.. -or- download my libpq wrapper, which allows you to perform queries without using a temporary char array, in a manner similar to printf(). Available via anon ftp from brainkarma.dyndns.org/pub/dblib/ Note: it's very alpha right now and possibly quite messy as it's still under development - works though :) Simon. -- On October 7, 1998 the routine process of running anti-virus software on a Windows NT server at the Boeing Corporation shut the system down. Evidently, the software identified Windows NT itself as a virus and disabled it. -- http://www.vcnet.com/bmc/departments/nt/bugs.shtml Simon Drabble Somewhere in cyberspace simond@foxlink.net
On Mon, 24 May 1999, Simon Drabble wrote: # char query[LOTS_OF_ROOM]; # sprintf(query, "INSERT INTO octects VALUES(%d)", a); # # PQexec(conn, query); snprintf would probably be a better choice. # -or- download my libpq wrapper, which allows you to perform queries without # using a temporary char array, in a manner similar to printf(). Available via # anon ftp from # # brainkarma.dyndns.org/pub/dblib/ I was about to suggest something like this be part of the core library. It makes a lot of sense, and that's what vsnprintf is for. :) -- SA, beyond.com My girlfriend asked me which one I like better. pub 1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net> | Key fingerprint = 87 02 57 08 02 D0 DA D6 C8 0F 3E 65 51 98 D8 BE L_______________________ I hope the answer won't upset her. ____________