[ 
https://issues.apache.org/jira/browse/DBUTILS-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662974#action_12662974
 ] 

Liam Seamus Coughlin commented on DBUTILS-31:
---------------------------------------------

I think this is the best of the proposed solutions -- it's certainly the 
simplest, and given that future versions of dbutils will be focusing on java 5+ 
I don't think we should be worrying about ancient versions of JDBC.

> fillStatement setNull bug with the Derby JDBC driver
> ----------------------------------------------------
>
>                 Key: DBUTILS-31
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-31
>             Project: Commons DbUtils
>          Issue Type: Improvement
>    Affects Versions: 1.0
>         Environment: Derby 10.1.2.1
>            Reporter: Francis Townsend
>
> This has been documented many times before, but I was not happy with the 
> existing code fixes.  The following small code snippet should fix it for all 
> conforming JDBC drivers.
> {code}
>     protected void fillStatement(PreparedStatement stmt, Object[] params)
>         throws SQLException {
>         if (params == null) {
>             return;
>         }
>         ParameterMetaData pmd = stmt.getParameterMetaData();
>         for (int i = 0; i < params.length; i++) {
>             if (params[i] != null) {
>                 stmt.setObject(i + 1, params[i]);
>             } else {
>                 stmt.setNull(i + 1, pmd.getParameterType(i + 1));
>             }
>         }
>     }
> {code}
> The only difference is that you get the parameter meta data and pass that 
> type information to the setNull method.  This should neatly fix this problem, 
> with a very slight additional overhead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to