Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Converter Retorno, é possível na situação ?

Galera, seguinte.

Basicamente:

  1. Pegar o texto do JTextFieldUsuario - Ok
  2. Passar para o método ObterIDUsuarioPorUsuario - Ok
  3. Retornar o ID_Usuario da tabela
  4. Mostrar o retorno do método no campo de JTextFieldID_Usuario

A tabela está retornando o inteiro e eu preciso converter o retorno para String mas não estou achando um jeito de fazer isso.

  • Tenho esse método na minha classe DAO
      public Integer ObterIDUsuarioporUsuario (String usuario) throws SQLException {

          Connection conn = null;
          ResultSet rs = null;
          PreparedStatement pst = null;

          conn = ConnectionFactory.getConnection();

          pst = conn.prepareStatement("select id_usuario from usuariosistema where usuario = ?");
          pst.setString(1, usuario);

          rs = pst.executeQuery();

          if (rs.next()) {

              return rs.getInt("id_usuario");

          } else {

               return null;

          }

      }
  • E tenho esse código no botão que chame o método
 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:

        UsuarioSistemaDAO dao = new UsuarioSistemaDAO();
        UsuarioSistemaDAO dao2 = new UsuarioSistemaDAO();

        try {

            dao.ObterIDUsuarioporUsuario(jTextFieldUsuario.getText());
            jTextFieldID_Usuario.setText(dao);



        } catch (SQLException ex) {
            Logger.getLogger(AlteraGrupoPorUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }


    }             
  • Me é acusada a seguinte mensagem de erro:

incompatible types: UsuarioSistemaDAO cannot be converted to String

Eu não estou conseguindo achar uma forma de fazer essa conversão.

4 respostas

Você cometeu um pequeno erro, o método ObterIDUsuarioporUsuario retorna um numero inteiro e é esse inteiro que vc quer usar:

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:

        UsuarioSistemaDAO dao = new UsuarioSistemaDAO();
        UsuarioSistemaDAO dao2 = new UsuarioSistemaDAO();

        try {

            Integer idMaroto = dao.ObterIDUsuarioporUsuario(jTextFieldUsuario.getText());
            jTextFieldID_Usuario.setText(idMaroto);



        } catch (SQLException ex) {
            Logger.getLogger(AlteraGrupoPorUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }


    }  

Mesmo fazendo isso ele continua com erro. incompatible types: Integercannot be converted to String

solução!

tente idMaroto.toString()

Porra campeão, muito obrigado. Funcionou.

Mas um aprendizado pra conta.

Pior que é detalhe bobo, do conhecimento fundamental de java e a gente acaba esquecendo.