} else if (jdbctype == Types.BIGINT) { statement.setLong(count, row.getLongColumn(column));
    private static int execute(Connection connection, String sql, List columns,            TableRow row) throws SQLException    {        PreparedStatement statement = null;        if (log.isDebugEnabled())        {            log.debug("Running query \"" + sql + "\"");        }        try        {            statement = connection.prepareStatement(sql);            int count = 0;            for (Iterator iterator = columns.iterator(); iterator.hasNext();)            {                count++;                ColumnInfo info = (ColumnInfo) iterator.next();                String column = info.getName();                int jdbctype = info.getType();                if (row.isColumnNull(column))                {                    statement.setNull(count, jdbctype);                    continue;                }                else if (jdbctype == Types.BIT)                {                    statement.setBoolean(count, row.getBooleanColumn(column));                    continue;                }                else if ((jdbctype == Types.INTEGER)                        || (jdbctype == Types.DECIMAL))                {                    statement.setInt(count, row.getIntColumn(column));                    continue;                }                else if (jdbctype == Types.VARCHAR)                {                    statement.setString(count, row.getStringColumn(column));                    continue;                }                else if (jdbctype == Types.DATE)                {                    java.sql.Date d = new java.sql.Date(row.getDateColumn(                            column).getTime());                    statement.setDate(count, d);                    continue;                }                else if (jdbctype == Types.TIME)                {                    Time t = new Time(row.getDateColumn(column).getTime());                    statement.setTime(count, t);                    continue;                }                else if (jdbctype == Types.TIMESTAMP)                {                    Timestamp t = new Timestamp(row.getDateColumn(column)                            .getTime());                    statement.setTimestamp(count, t);                    continue;                }                else                {                    throw new IllegalArgumentException(                            "Unsupported JDBC type: " + jdbctype);                }            }            return statement.executeUpdate();        }        finally        {            if (statement != null)            {                try                {                    statement.close();                }                catch (SQLException sqle)                {                }            }        }    }