getColumnCount() retorna BOOL, mas não deveria retornar BOOLEAN

1 resposta
V

Oi!
Não sabia se minha dúvida era para ser feita no java básico ou avançado, assim postei minha duvida aqui.

Ao fazer uma seleção de um campo do tipo Boolean no banco de dados PostegreSQL,
conforme o código abaixo "rsmd.getColumnType(i)" está retornando o valor "-7" e "rsmd.getColumnTypeName(i)" está retornando "Bool"!
Não deveria retornar "BOOLEAN"? Não existe "Types.BOOl", portanto como resolvo isso?

[color=red]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));

JOptionPane.showMessageDialog(null, rsmd.getColumnType(i));

throw new ConexaoGetNextRowException("Tipo de dado não previsto!");

}[/color]

1 Resposta

W

Se você confirma que -7 é BOOLEAN, então crie uma constante BOOLEAN = -7 e acrescente um novo case para testar esta nova constante.

Criado 27 de setembro de 2012
Ultima resposta 27 de set. de 2012
Respostas 1
Participantes 2