for (int i = 1; i <= rsmd.getColumnCount(); ++i) {
switch (rsmd.getColumnType(i)) {
case Types.VARCHAR:
currentRow.add(rs.getString(i));
break;
case Types.INTEGER:
currentRow.add(new Integer(rs.getInt(i)));
break;
case Types.NUMERIC:
currentRow.add(rs.getString(i));
break;
case Types.BIGINT:
currentRow.add(new Integer(rs.getInt(i)));
break;
case Types.SMALLINT:
currentRow.add(new Integer(rs.getInt(i)));
break;
case Types.DATE:
currentRow.add(rs.getString(i));
break;
case Types.TIME:
currentRow.add(rs.getString(i));
break;
case Types.BOOLEAN:
currentRow.add(rs.getBoolean(i));
break;
default:
JOptionPane.showMessageDialog(null, rsmd.getColumnTypeName(i));
throw new ConexaoGetNextRowException(“Tipo de dado não previsto!”);
}
rsmd.getColumnType(i) está retornando “bool” para um campo tipo “boolean” de uma tabela no banco de dados postgreSQL e não existe Types.BOOL ?
como resolvo isto?