Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro em select de String

Boa Tarde estou com um problema, se possível que alguém me ajude.

quando faço consultas com apenas uma tabela tudo bem, mas quando tento adicionar a segunda ele me apresenta o erro

segue abaixo meu código:

import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestaConsulta {
    public static void main(String[] args) throws SQLException {
        Connection connection = Conection.getConection(); 
        Statement smt = connection.createStatement();

        ResultSet resultSet = smt.executeQuery(" select nf.not_in_numero, "
                                             + " nf.not_dt_emissao, "
                                              + " nf.agn_in_codigo "

                                              + " from mgven.ven_notafiscal nf, "
                                              +     " mgglo.glo_agentes agn "


                                              + " where nf.agn_in_codigo = agn.agn_in_codigo "
                                              + " and nf.agn_in_codigo = 103 "
                                              + " and nf.org_in_codigo = 2 "
                                              + " and nf.not_dt_emissao between '01-02-2016' and '01-02-2016' "
                                              + " order by nf.not_in_numero ");

        while (resultSet.next()) {

            String nome = resultSet.getString("agn_st_nome");
            System.out.println(nome);

            int nota = resultSet.getInt("not_in_numero");
            System.out.println("Nota fiscal: "+nota);

            Date data = resultSet.getDate("not_dt_emissao");
            System.out.println("Data de emissão: " + data + "\n");

        }
        resultSet.close();
        smt.close();
        connection.close();
    }
}

mas se eu comentar esse trecho:

String nome = resultSet.getString("agn_st_nome");
            System.out.println(nome);

ele funciona.

O erro apresentado é esse:

Exception in thread "main" java.sql.SQLException: Nome de coluna inválido
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3724)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2799)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:498)
    at TestaConsulta.main(Unknown Source)

desculpe pelo tópico grande de mais.

obrigado.

2 respostas
solução

Boa tarde Gabriel, você precisa colocar o campo agn_st_nome no seu select para o jdbc conseguir ver essa coluna

Guilherme muito obrigado