BUG #6445: PreparedStatement.setObject(1,java.util.String)

Поиск
Список
Период
Сортировка
От rajesh4.t@tcs.com
Тема BUG #6445: PreparedStatement.setObject(1,java.util.String)
Дата
Msg-id E1RvCq7-0003Fi-RK@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6445: PreparedStatement.setObject(1,java.util.String)  (Kris Jurka <books@ejurka.com>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #6440: Window function in WHERE evaluated after agregate
Следующее
От: petr.jediny@gmail.com
Дата:
Сообщение: BUG #6444: Postgresql crash