Re: I have a problem of abstraction...
От | Dave Cramer |
---|---|
Тема | Re: I have a problem of abstraction... |
Дата | |
Msg-id | D7165560-214A-4034-985C-D047AA0544EB@fastcrypt.com обсуждение исходный текст |
Ответ на | I have a problem of abstraction... (Alfredo Rico <alfredorico@gmail.com>) |
Ответы |
Re: I have a problem of abstraction...
(Alfredo Rico <alfredorico@gmail.com>)
|
Список | pgsql-jdbc |
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 по дате отправления: