db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alejandro Rodríguez González <alejan...@alejandrorg.com>
Subject Re: Problem inserting
Date Wed, 17 Apr 2013 08:09:37 GMT
Thanks Dyre! I will check all that you told me and see if I can fix the
problem!

Cheers


On 17 April 2013 10:07, Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com> wrote:

> On 04/16/13 01:46 PM, Alejandro Rodríguez González wrote:
>
>  Basically, I insert using this code:
>>
>>          public void insertInputs(Set<Input> ri) throws Exception {
>>                  PreparedStatement psInsert = null;
>>                  Iterator<Input> it = ri.iterator();
>>                  while (it.hasNext()) {
>>                          Input in = it.next();
>>
>
> Note that doing it this way defeats the purpose of using prepared
> statements, since you create and prepare it each time through the loop. A
> better (faster) way would be to move the call to prepareStatement out of
> the loop. But it does
>
>                           psInsert = conn
>>                                          .prepareStatement("insert into
>> inputs(input_class,api) values (?, ?)");
>>
>
> Where does conn come from here? Are you sure it is in autocommit mode? It
> needs to be since you don't call conn.commit() explicitly. Also, you're
> using the default schema for your table. Are you sure it is what you
> believe it to be?
>
>
>                           psInsert.setString(1, in.getObject());
>>
>
> If Constants.APIS[this.api] does not change as you iterate, it does not
> need to be a parameter.
>
>
>                           psInsert.setString(2, Constants.APIS[this.api]);
>>                          this.logger.log("Inserting input in db: " +
>> in.getObject() + " - API[" + Constants.APIS[this.api] + "]");
>>
>
> I assume that you see this output when you run your program?
>
>                           psInsert.executeUpdate();
>>
>
> Place the close after the loop to re-use the prepared statement.
>
>
>                           psInsert.close();
>>                  }
>>          }
>>
>
>
>
>> It is supposed that in the following execution of my program, when I
>> made the select statement to see the inputs in the database, it should
>> give me results, but.. no results are provided. I attach you the first
>> two executions of my program:
>>
>> First (database not created): http://pastebin.com/1k7R8Yup
>> Second (database created. It is supposed that inputs table should
>> contain data): http://pastebin.com/yzsK1q9w
>>
>> So.. as far as I understand, something is wrong in the "insert" but.. I
>> don't know what.
>>
>
>
>
>
>> I hope someone can help me.
>>
>> Thanks!
>>
>> --
>> Dr. Alejandro Rodríguez González - PhD
>>
>> Bioinformatics at Centre for Plant Biotechnology and Genomics UPM-INIA
>> Polytechnic University of Madrid
>> http://www.alejandrorg.com <http://www.alejandrorg.com/>
>>
>> Phone: +34 914524900 . Ext: 25550
>>
>>
>> //Once the game is over, the king and the pawn go back in the same box.
>> - Italian proverb//
>>
>
>


-- 
Dr. Alejandro Rodríguez González - PhD

Bioinformatics at Centre for Plant Biotechnology and Genomics UPM-INIA
Polytechnic University of Madrid
http://www.alejandrorg.com
Phone: +34 914524900 . Ext: 25550


*Once the game is over, the king and the pawn go back in the same box. -
Italian proverb*

Mime
View raw message