Ref.: >Método "getTimestamp" na classe "sun.jdbc.odbc.JdbcOdbcResultSet" levantou uma exceção: insta

2 respostas
P

Bom dia !

Preciso saber o pq. disso.

       Quem pode me responder?

       Fixem o olhar no trecho do "CASE 93". Aí acontece o erro.

       Obrigado.
//Adiciona registro a JTable
            Vector lins = new Vector();
            //if (rs.isBeforeFirst()) {
                while (rs.next()) {
                    Vector regs = new Vector();
                    for (int i = 1; i <= rsmd.getColumnCount(); ++i) {
                        //Formata campo
                        switch (rsmd.getColumnType(i)) {
                            case 2:     //Types.NUMERIC:
                                regs.addElement(rs.getInt(i));
                                break;
                            case 91:    //Types.DATE:
                                regs.addElement(rs.getDate(i));
                                break;
                            case 92:    //Types.TIME:
                                regs.addElement(rs.getTime(i));
                                break;
                            case 93:    //Types.TIMESTAMP:
                                sdf.applyLocalizedPattern("dd/MM/yyyy");
                                regs.addElement(sdf.format(rs.getTimestamp(i)));
                                break;
                            case 01:    //Types.CHAR:
                                regs.addElement(rs.getString(i));
                                break;
                            case 12:    //Types.VARCHAR:
                                regs.addElement(rs.getString(i));
                                break;
                            case 4:     //Types.INTEGER:
                                df.applyLocalizedPattern("000000");
                                regs.addElement(df.format(rs.getInt(i)));
                                break;
                            case 8:     //Types.DOUBLE:
                                regs.addElement(rs.getDouble(i));
                                break;
                            case 6:     //Types.FLOAT:
                                regs.addElement(rs.getDouble(i));
                                break;
                            default:
                                System.out.println("Tipo foi:" + rsmd.getColumnTypeName(i));
                        }
                    }
                    
                    //Adiciona registro fisicamente
                    lins.addElement(regs);
                }
            //}

2 Respostas

ozielneto

Amigo, tenho umá notícia para você,
o driver JDBC ODBC não suporta o getTimestamp.

Sugiro você substitui a ponte ODBC por uma nativa do banco de dados,
se for Access, mude para MySQL ou SQL Server.

At,

P

Huuuuuuuuuuuummmmmmmmmmm!

Já desconfiava disso!

Mas valeu!

Muito obrigado.

Criado 31 de outubro de 2007
Ultima resposta 31 de out. de 2007
Respostas 2
Participantes 2