Resultset com duas tabelas

4 respostas
L

Pessoal Bom dia;
Preciso saber se com resultset aceita o retorno de uma consulta em duas tabelas, ou tenho que criar para cada consulta um resultset distinto. A consulta abaixo apresenta o seguinte erro:

Não é possível usar um cursor orientado a conjunto de teclas na associação, com clausula, união, interseção ou subtração disitintas ou em um conjunto de resultados somente leitura.

con_teste.executeSQL(“SELECT P.COD_ITEM AS CODIGO, P.DESCRICAO AS NOME "
+ " FROM PRODUTO P,ESTOQUE E”
+ " WHERE P.COD_ITEM = E.COD_PRODUTO")
;

Obs.: Se eu utilizar apenas uma das tabelas funciona e se eu rodar a consulta acima diretamente no oracle também funciona, se alguém puder me ajudar desde já agradeço.

4 Respostas

drsmachado

Um ResultSet não faz buscas, ele apenas irá receber o retorno de uma consulta que tenha sido realizada por um Statement, PreparedStatement ou CallableStatement, dependendo a forma que está sendo utilizada para isto.
Sim, ele suporta o retorno de consultas em mais de uma tabela, para tanto, é preciso identificar o nome de cada coluna ou mesmo a posição de cada coluna dada na query.

Após responder, vi o erro.
Pela mensagem, não tem nada a ver com o ResultSet. A princípio, parece uma falha durante a execução da query, pode ser referente ao adaptador (driver do oci*.jar) que está utilizando.

L

drsmachado:
Um ResultSet não faz buscas, ele apenas irá receber o retorno de uma consulta que tenha sido realizada por um Statement, PreparedStatement ou CallableStatement, dependendo a forma que está sendo utilizada para isto.
Sim, ele suporta o retorno de consultas em mais de uma tabela, para tanto, é preciso identificar o nome de cada coluna ou mesmo a posição de cada coluna dada na query.

Após responder, vi o erro.
Pela mensagem, não tem nada a ver com o ResultSet. A princípio, parece uma falha durante a execução da query, pode ser referente ao adaptador (driver do oci*.jar) que está utilizando.

Meu camara fico grato com o seu retorno, o que eu acho estranho, é que com uma tabela funciona. Mais vou baixar o driver atualizado para oracle pra ver se resolve.

L

Ok. funcionou a consulta com duas tabelas, após a atualização do driver para o oracle.

Grato.

drsmachado

Isto acontece. O driver oracle é um dos mais chatos que conheço…
Realmente não compreendo qual o problema da Oracle em prover um suporte decente para este driver.

Criado 13 de maio de 2011
Ultima resposta 13 de mai. de 2011
Respostas 4
Participantes 2