BUG #6445: PreparedStatement.setObject(1,java.util.String) - Mailing list pgsql-bugs

From rajesh4.t@tcs.com
Subject BUG #6445: PreparedStatement.setObject(1,java.util.String)
Date
Msg-id E1RvCq7-0003Fi-RK@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #6445: PreparedStatement.setObject(1,java.util.String)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6445
Logged by:          Rajesh
Email address:      rajesh4.t@tcs.com
PostgreSQL version: 8.4.3
Operating system:   Windows XP
Description:=20=20=20=20=20=20=20=20


I have a table in PostgreSQL database

CREATE TABLE newtest
(
  id numeric(6),
  name character varying(120),
  email character varying(120)
)

I am using PreparedStatement so that i can insert data into newtest table

INSERT INTO NewTest (ID,NAME,EMAIL ) values (?,?,? )

Actual query fired -INSERT INTO NewTest (ID,NAME,EMAIL ) values ('1','Rajesh
','rajesh4.t@abs.com' )

code for prepared statement

try{
                            pstatement=3Dconn.prepareStatement(insertQuery);
                            for(int k=3D1;k<rows;k++){
                                pstatement.clearParameters();
                                Cell datacell[]=3Dsheets[i].getRow(k);
                                for(int
eachCell=3D0;eachCell<columnNames.size();eachCell++){
                                    pstatement.setObject(eachCell+1,
datacell[eachCell].getContents());
                                }
                                pstatement.addBatch();
                            }
                            pstatement.executeBatch();
                            pstatement.close();
                        }catch(Exception er){
                            LOG.error("Failed to set Row data for tableName:
"+tableName,er);
                            throw new DbComparisonException(er);
                        }=20

Please note I am reading data from an excel sheet and
datacell[eachCell].getContents() is of type String..prepareStatement
setObject is complaining that I am sending String datatype which cannot be
casted to bigint or numeric,but that is the job of setObject right to decide
the target datatype and cast accordingly..please reply any
solution..Parameter to setObject(can be anything) so I cannot cast the data
to appropriate format before sending the data

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #6440: Window function in WHERE evaluated after agregate
Next
From: petr.jediny@gmail.com
Date:
Subject: BUG #6444: Postgresql crash