Re: I have a problem of abstraction... - Mailing list pgsql-jdbc
From | Dave Cramer |
---|---|
Subject | Re: I have a problem of abstraction... |
Date | |
Msg-id | 4AFEC163-3990-4199-898B-F2DBAABE8519@fastcrypt.com Whole thread Raw |
In response to | Re: I have a problem of abstraction... (Alfredo Rico <alfredorico@gmail.com>) |
List | pgsql-jdbc |
Alfredo,
No, once you open the connection in v2 it stays in v2.
Dave
On 6-Oct-05, at 10:49 AM, Alfredo Rico wrote:
Thanks Dave, but could I switch to v2 just when I need it and then back to v3 afterwards whitout open a new connection ?
I can't use more than one connection per user becaues I'm using a pool conection.
Besides I'm using a ResultSet to update my database and so the conection already were established.
Kind Regards.-
Alfredo Rico.On 10/6/05, Dave Cramer <pg@fastcrypt.com> wrote:Alfredo,
The simplest and quickest way is to force v2 protocol
http://jdbc.postgresql.org/documentation/80/connect.html#connection-
parameters
Dave
On 6-Oct-05, at 9:27 AM, Alfredo Rico wrote:
> Hi friends, greetings.
> Please apologize by my bad english ;-(
>
> I need to resolve a problem of data type abstraction using JDBC.
>
> In first place, please check out the following java code fragment:
> /********************************/
> //for each row that I want to insert
> for(int i=1 ; i<= this.columnNumbers ; i ++)
> {
> this.insertColumn( columnNames[i] , columnValues[i] , i );
>
> }
> /******************************/
> In the code above, for each row that I want to insert:
> columnNames is a String vector containing columns names for a given
> table.
> columnValues is a String vector containing the values for each
> column for the same table.
> Ok, this string vector could contain int, float, double, Date,
> character string, I mean basic types,
> represented as string. The reason is due to this vector is
> fulfilled by users parameters
> that has been sent via HttpServletRequest and method
> request.getParameter("parameter")
> return its values as string.
>
>
> Now, please look at the following java method:
>
> //For each row that I want to insert:
> public void insertColumn(String columnName, Object X , int i )
> {
> try{
> if(i == 1) //only for the first column
> this.rs.moveToInsertRow();
>
> this.rs.updateObject(columnName , X );
>
> if( i == this.columnNumber )//if all columns (for one row)
> were updated
> this.rs.insertRow();
>
> }catch(SQLException e )
> {
> System.out.println("Error: "+e);
> }
> }
>
>
> Ok, if I'm using JDBC driver version 7.4 Build 216 there isn't
> problem with the data types.
> The method ResultSet.updateObject works perfectly inserting Int,
> float, double, Date.
> Evrything works very well.
>
> But I need use JDBC driver verion 8.0 Build 312 for another
> reasons, and the java code above not works
> because this version of JDBC driver is very strict about data types.
>
> I really need insert my data in an abstract way, I mean without
> knowing the data types.
> (Application requirements). I would not like to use a bulk of if
> setences for various data types
> according to obtained by using ResultSetMetaData.
>
> How could I overcome this situation ?
>
> Beforehand thank you very much by your help and support.
>
> Kind Regards.
> Alfredo Rico.
pgsql-jdbc by date: