Обсуждение: ERROR: operator does not exist: integer = character varying
Hi! I have the following piece of jdbc code String query = "UPDATE books SET title = ? WHERE book_id=?"; pstmt =conn.prepareStatement(query); pstmt.setInt(1, new_book_id); pstmt.setString(2, getStringPrompt("new title")); pstmt.executeUpdate(); getStringPrompt returns a string and new_book_id is an int. The structure of the books table is books((book_id), title, author_id, subject_id) where title is text, all the other fields are integers. author_id and subject_id are foreign keys. When I try to run the code I get the error message in the subject line and I can't figure out what's wrong. regards Andreas
On Sat, Feb 11, 2012 at 17:22, Andreas Berglund <email.lists81@gmail.com> wrote: > Hi! > > I have the following piece of jdbc code > > String query = "UPDATE books SET title = ? WHERE book_id=?"; > pstmt =conn.prepareStatement(query); > pstmt.setInt(1, new_book_id); > pstmt.setString(2, getStringPrompt("new title")); > pstmt.executeUpdate(); > > getStringPrompt returns a string and new_book_id is an int. Aren't you passing your parameters in the wrong order? Your query wants title first and book_id second, but you send in new_book_id first and the new title second? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/