Erro de number format exception

7 respostas
F
Estou com problemas ao incluir um dado, onde o codigo eh uma String, mas no banco ele eh inteiro, veja o erro a seguir:

java.lang.NumberFormatException: For input string: “”

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

at java.lang.Integer.parseInt(Integer.java:468)

at java.lang.Integer.parseInt(Integer.java:497)

at estoque.pstdb.GrupoPST.addUpdateGrupo(GrupoPST.java:34)

at estoque.pstdb.GrupoPST.addGrupo(GrupoPST.java:56)

at estoque.ctr.GrupoCTR.addGrupo(GrupoCTR.java:22)

at estoque.ctr.GrupoCTR.tratarGrupo(GrupoCTR.java:126)

at estoque.gui.GrupoGUI.btnincluirMouseClicked(GrupoGUI.java:183)

at estoque.gui.GrupoGUI.access$100(GrupoGUI.java:18)

at estoque.gui.GrupoGUI$2.mouseClicked(GrupoGUI.java:83)

at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)

at java.awt.Component.processMouseEvent(Component.java:6137)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5899)

at java.awt.Container.processEvent(Container.java:2023)

at java.awt.Component.dispatchEventImpl(Component.java:4501)

at java.awt.Container.dispatchEventImpl(Container.java:2081)

at java.awt.Component.dispatchEvent(Component.java:4331)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3974)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)

at java.awt.Container.dispatchEventImpl(Container.java:2067)

at java.awt.Window.dispatchEventImpl(Window.java:2458)

at java.awt.Component.dispatchEvent(Component.java:4331)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

BUILD SUCCESSFUL (total time: 31 seconds)

Por favor aonde estou errando eh na conversao Integer.parseInt ou não?

7 Respostas

berg.pb

Opa Fabioyda

nao sei como vc ta fazendo a conversão… tenta assim:

Integer.valueOf(valorDaVariavelQueContemOInteito);

Se puder, posta o código de como tu ta fazendo, blz?
Ah! Se o valor q recebe é uma string, vc tem q validar se a string q recebe é mesmo numerico ou alfa…

Abraços

furutani

Verifique por que a variavel string que você passa no metodo parseInt() está em branco (ou vazia)

F

Caro Berg veja o código abaixo:

public String addUpdateGrupo(Grupo grupo){

String retorno = “”;

String sql ="{? = call tccestoque.manter_grupo(?::integer,?::character varying)}";

Connection con;

CallableStatement sp = null;

try{

con = EstoqueConnection.getInstance().getConnection();

con.setAutoCommit(false);

sp = con.prepareCall(sql);

sp.clearParameters();

sp.registerOutParameter(1, Types.VARCHAR);

sp.setInt(2, Integer.parseInt(grupo.getCodGrupo()));

sp.setString(3, grupo.getDesGrupo());

sp.executeUpdate();

con.commit();

retorno = sp.getString(1);

sp.close();

}catch(SQLException e){

e.printStackTrace();
}catch(Exception e){
            e.printStackTrace();
        }finally{
         try{
             sp.close();                 
         }catch(Exception e){
             
         }   
         return retorno;
        }
}

o erro esta na linha em negrito ok, qdo grava ele da aquela exception number format

F

furutani o codigo do grupo esta não editável, portanto eu faço uma condição assim:

try{

String codGrupo, desGrupo;
    String auto = estoqueCTR.getEstoqueGUI().getGrupoGUI().getCodigo();


    if (auto.equals(""))
        codGrupo = "";
    else
        codGrupo = estoqueCTR.getEstoqueGUI().getGrupoGUI().getCodigo();
berg.pb

Fala Fabio

Faz assim, pega esse codigo SQL, e manda imprimir os dados que ele ta pegando do banco pra ver qual o valor que ta sendo passado…
Um a um…

Abraços

Qualquer coisa, to online…

Abraços

furutani

Olá

Ao invés de

codGrupo = “”;

você não pode por assim

codGrupo = 0;
F

Putz furutani 01/03/2009 13:54:44 Assunto: erro de number format exception


Olá

Ao invés de

codGrupo = “”;

você não pode por assim

codGrupo = 0;

Era isso mesmo, obrigado cara, putz naum acredito uma coisa tao simples que viaje, mas vlw, muito obrigado vei

Criado 1 de março de 2009
Ultima resposta 1 de mar. de 2009
Respostas 7
Participantes 3