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