JComboBox X Busca no banco! Ufa!Dificil!

amigos…estou usando o postgresql como banco.

tenho uma jComboBox q aponta para a tabela de clientes e listo nessa combo, o nome do cliente. Optei em vez de gravar na tabela de movimentação o nome do Cliente, gravar o CodigoCli ai grosseiramente tentei essa classe:

como nao consegui ao mesmo tempo que selecionar o nome pegar o codigo…tentei uma “ganbiarra” e aproveitar q consigo pegar o nome, depois de selecionado buscar na tabela o nome e pegar o codigo referente…tentei assim

try
{
String sqlBusca="";
int BuscaCod = 0;

     sqlBusca = "SELECT NOME,CODCLI FROM TBL_CLIENTES WHERE NOME = 'xCliente'";
            
     Class.forName("org.postgresql.Driver");
     Connection con3 = DriverManager.getConnection("jdbc:postgresql://localhost:5432/MEU_BANCO","postgres","123");
     Statement stmt3 = con3.createStatement();
     ResultSet rsBusca = stmt3.executeQuery(sqlBusca);
           
           try
           {
              
                   BuscaCod = (rsBusca.getString("CODCLI"));
                   
               
               
           }
           catch (SQLException exx3) 
          {
             exx3.printStackTrace();
          }

Mas na linha BuscaCod = (rsBusca.getString(“CODCLI”)); acusa que esta precisando dum next…ate ja tentei colocar um while(rsBusca.next()) mas nao funcionou…pois a ideia é localizar o nome na tabela e pegar o valor referente. Ou seja, o codigoCli.

Alguem pode me ajudar?

Rodrigo
E-mail: rodrigoccnv@yahoo.com.br
Messenger: rodrigoccnv@hotmail.com

O metodo rs.next() da classe ResultSet lhe retorna true onde houver linhas para serem percorridas
Verifique se sua SQL está retornando registros:

uma dica:

if (rs.next())
{
   BuscaCod = Integer.parseInt((rsBusca.getString("CODCLI")));
}
else
{
   System.out.println("Cliente nao encontrado");
}

Outra coisa que notei no seu codigo a variavel BuscaCod é um int , vc precisa realizar um Cast de String para int. rs.getString() , lhe retorna um objeto String.

  • Hide quoted text -

Não duplique seus tópicos!