Column MetaData Precision e Scale

0 respostas
CrOnNoS

Eu estou precisando saber quantos digitos decimais tenho na coluna de um banco, antes e após a vírgula. Para testar eu estou usando esse código:

for (int i = 1; i <= metaData.getColumnCount(); i++) { if (metaData.getColumnTypeName(i).equals("Numeric")) { System.out.println(metaData.getColumnName(i)); System.out.println(metaData.getPrecision(i)); System.out.println(metaData.getScale(i)); System.out.println(); } }

Quando eu estava testando todos, em casos de colunas do tipo Char o campo precision retornava o número de char’s corretamente (o mesmo valor que era retornado em metaData.getColumnDisplaySize(column)), mas quando é numeric, o método getPrecision (que deveria retornar o número de decimais antes da vírgula) sempre está retornando 15 e o getScale (que deveria retornar o número de decimais após a vírgula) sempre está retornando 0.

Existe alguma outra forma para mim obter essas informações ? Alguma idéia ?

[“SOLUÇÃO”]
Well, não achei uma solução mais “official” como eu queria então vou ter que ficar com o que eu tenho.
http://www.svcon.com possui uma biblioteca para acesso a DBF sem o uso de ODBC, mas inicialmente ela não funcionou para mim por problemas com caracteres especiais. Mas, para o problema a cima, ela funcionou perfeitamente e retorna exatamente os meta dados que o DBF tem sobre suas colunas, por tanto se alguém tiver o mesmo problema heis ai uma solução reaproveitando a biblioteca desse site svcon.

Criado 28 de setembro de 2009
Respostas 0
Participantes 1