Re: [INTERFACES] Problem with PreparedStatement
От | Peter Mount |
---|---|
Тема | Re: [INTERFACES] Problem with PreparedStatement |
Дата | |
Msg-id | Pine.LNX.4.10.9910192050140.9738-100000@maidast.retep.org.uk обсуждение исходный текст |
Ответ на | Re: [INTERFACES] Problem with PreparedStatement (Herouth Maoz <herouth@oumail.openu.ac.il>) |
Список | pgsql-interfaces |
On Tue, 19 Oct 1999, Herouth Maoz wrote: > At 19:05 +0200 on 18/10/1999, Esteban Chiner Sanz wrote: > > > > I'm trying to do this: > > > > if (counter != -1) /* No ha habido ning�n error */ > > { > > PreparedStatement pstmt=null; > > sql="insert into tar_historico values (?,?,?)"; > > razon="<br>Query: " + sql; > > try { > > pstmt = con.prepareStatement(sql); > > pstmt.setString(1,Integer.toString(counter)); > > pstmt.setString(2,"1"); > > pstmt.setTimestamp(3,new Timestamp(new > > java.util.Date().getTime())); > > pstmt.executeUpdate(sql); > > pstmt.close(); > > con.close(); > > } > > > > But I get this error message in the PostgreSQL log: > > > > query: insert into tar_historico values (?,?,?) > > ERROR: parser: parse error at or near "," > > What are the (Postgres) datatypes of the fields? > > The best would be to know what the final format of the query became. For > this you have to run the postmaster with -d2 or something, to create a > debug-level log. It will show you the statements as they were passed to the > backend. > > My personal suspicion is that your first two fields are numeric fields, not > string fields. My suspicion aswell. Most people forget that setString() wraps the string in quotes when the query is sent to the backend. Peter -- Peter T Mount peter@retep.org.uk Main Homepage: http://www.retep.org.uk PostgreSQL JDBC Faq: http://www.retep.org.uk/postgresJava PDF Generator: http://www.retep.org.uk/pdf
В списке pgsql-interfaces по дате отправления: