[ 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.