Duvida SQL

5 respostas
D

Estou tentando trazer dois dados de um Select que faço em meu programa. Só estou conseguindo pegar o “NomeProd”, sendo que preciso também do “Endereco”, agradeço se alguém tiver uma dica.

try { 
            //Registrando o driver: 
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
            //Estabelecendo a conexão através do ODBC criado no Painel de Controle: 
            Connection con = DriverManager.getConnection("jdbc:odbc:testejava","sa","mtn1239"); 
            //Criando um objeto Statement para enviar requisições SQL para o Banco de Dados 
            Statement stmt = con.createStatement();
stmt.execute("SELECT FProdutor.NomeProd 		" +
            " FROM FProdutor WHERE FProdutor.CodProd = 7 	" +
            " UNION 										" +
            " SELECT FProdEnd.Endereco 						" +
            " FROM FProdEnd WHERE FProdEnd.CodProd = 7 ");

            
            //Adquirindo através de um objeto ResulSet, os registros retornados pela SQL:
            ResultSet results = stmt.getResultSet();
            
            while (results.next()) { 
                String NomeProd = results.getString("NomeProd"); 
                String Endereco = results.getString("Endereco");
                System.out.println(NomeProd);
                System.out.println(Endereco);
            }
}catch(Exception e) {}

5 Respostas

cbelleza

Vc ja tentou pegar via indice para ver se traz os dados?

Talvez assim vc consiga trazer ao contrario do nome logico do campo que pode estar errado!
Ex:

String NomeProd = results.getString(1);
String Endereco = results.getString(2);

ahh so nao me lembro se o 1º indice começa no 1 ou 0 no ResultSet!

Falou…
:lol:

D

Valeu cbelleza vou tentar colocar no programa a sua sugestão, abraço!

om1

Sua query está errada… O union “cola” o resultado (linhas) das duas consultas.

Vc tem que fazer um inner join nas duas tabelas.

C

Na verdade a sua query está bem estranha…
Executa a seguinte query:

SELECT p.NomeProd, e.Endereco FROM FProdutor p, FProdEnd e WHERE p.CodProd = 7 AND e.CodProd = p.CodProd
D

Valeu pessoal, testei com inner join como o om sugeriu e deu certo, vou tentar fazer o que o code sugeriu, para ver se funciona também. :lol:

Criado 9 de setembro de 2004
Ultima resposta 9 de set. de 2004
Respostas 5
Participantes 4