SQLException

4 respostas
S

[b]Estou desenvolvendo um aplicação na qual preciso que o valor selecionado
na combo box seja alterado pelo valor de um text field. Essa mudança deve ocorrer também no Banco de Dado. Estou utilizando o MySQL.

Segue abaixo o erro e parte do código.[/b]
java.sql.SQLException: Before start of result set

public void alteraArea(){

String oldArea = cbSelOrigem.getSelectedItem().toString();

String novaArea = txtOrigem.getText();

String query_id = SELECT id_area_acao FROM area_acao WHERE area_acao = '”+ oldArea +"’";

conectaBD();
try{
       
      ResultSet id_area =  stm.executeQuery(query_id);
      int id = id_area.getInt("id_area_acao"); 
      
       String query_troca = "UPDATE area_acao SET area_acao = ('"+ novaArea +"') WHERE id_area_acao = '" + id + "'";	
       stm.execute(query_troca);

   }catch (SQLException err){
       System.out.println(err);
   }
   fechaConeccao();
   txtOrigem.setText("");
   exibeArea();

};

[b]Se alguém puder me ajudar …

Agradeço desde já ! [/b]

4 Respostas

M

bem-vinda ao Portal Java Stefanin... a solução é simples, antes de vc tentar pegar algum dado do resultset, vc deve dar um next() nele.. se retornar null, é pq não há dados no resultset, tente isso:

ResultSet id_area = stm.executeQuery(query_id); 

if ( id_area.next() != null ) {

   int id = id_area.getInt("id_area_acao"); 
   // continuação do seu código aqui
S

Muito obrigada Matheus ! ! !

Realmente bem simples …

Tive que tirar o != null pois o não é possivel utilizar este tipo de comparação para uma variável booleana.

Então … Ficou assim :

if( id_area.next()){

int id = id_area.getInt("id_area_acao");

}

E deu certo ! ! !

Mais uma vez … Muito obrigada ! :lol:

M

bah q vergonha, ehaheahea, me enganei, totalmente, ahhhhhhhhhh q vergonhaaaaaaa, hahahaha, ele retorna false qnd não tem dados no resultset, e true qnd tem!!! ai, fica só if ( resultSet.next() )

B

somos mortais ! todos erramos ! huahauhauhau

Criado 11 de janeiro de 2005
Ultima resposta 11 de jan. de 2005
Respostas 4
Participantes 3