Thread: Problems with INSERT INTO?

Problems with INSERT INTO?

From
"Anna Langer"
Date:
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

Re: [GENERAL] Problems with INSERT INTO?

From
Simon Drabble
Date:
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


Re: [GENERAL] Problems with INSERT INTO?

From
Simon Drabble
Date:
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


Re: [GENERAL] Problems with INSERT INTO?

From
Dustin Sallings
Date:
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. ____________