_fs
Fevereiro 3, 2004, 10:12am
#1
Olá, bom dia.
Situação: tenho um Stored Procedure com 3 selects distintos, ou seja, ele me retorna 3 conjuntos de registros diferentes.
Sistema: jdbc sqlserver2000 driver m$
Dúvida: como navegar entre estes conjuntos de registros?
Procurei um pouco no google mas não achei nada pertinenete, talvez nem saiba o que procurar hehe só encontro rs.next()
Valeu!
dango
Fevereiro 3, 2004, 10:43am
#2
Hmmm… uma vez tive esse tipo de problema… minha sorte é que os conjuntos eram de tabelas similares com poucas diferenças. O que eu fiz foi criar uma tabela virtual e retornar os 4 selects que eu tinha nessa tabela virtual… talvez isso te dê uma luz?!
_fs
Fevereiro 3, 2004, 10:54am
#3
Valeu pelo reply cara
Bem, há algumas possibilidades como esta que você falou de criar uma View.
Também poderia juntar tudo no return do SP e manipular depois.
Mas seria melhor para o projeto evitar esses procedimentos, por isso estou procurando a uam saída mais chique hehe
Mas se não tiver jeito mesmo eu vou seguir sua sugestão
dango
Fevereiro 3, 2004, 11:37am
#4
é eu sei do q c tá falando…
mas as vezes parece inevitável “botar a mão no lixo”…
_fs
Fevereiro 4, 2004, 12:36pm
#5
Ta-dá!
Statment.getMoreResults()
\o/
brlima
Fevereiro 4, 2004, 2:22pm
#7
Ow,
Que negocio eh esse de retornar tres conjuntos de registros… num entendi… fiquei curioso
Vc retorna 3 resultsets ? Ou sao 3 linhas num resultset ???
_fs
Fevereiro 4, 2004, 2:29pm
#8
São 3 resultSets diferentes retornados de uma única consulta.
Isso ocorre quando a consulta se dá assim:
SELECT * FROM tSosiasdoHarryPotter WHERE Sosia=CV
SELECT * FROM tFlooderdoForum WHERE Flooder=CV
Não importa quantos REGISTROS cada um dos selects retornasse, mas para acessar o conteudo de ambos é necessário usar o método legal escrito acima \o/
brlima
Fevereiro 4, 2004, 3:05pm
#9
:shock: :o :o :o :o :o :o :o :o :o
:arrow: Bacana!!!
:idea: :idea: :idea:
_fs
Fevereiro 4, 2004, 3:28pm
#10
Olha que chique:
do
{
rs = sp.getResultSet();
rsmd = rs.getMetaData();
while( rs.next() )
for( int i = 1; i <= rsmd.getColumnCount(); ++i )
sRs.add( rs.getString ( i ) );
for( int i = 1; i <= rsmd.getColumnCount(); i++ )
sColumNames.add( rsmd.getColumnLabel( i ) );
}while( sp.getMoreResults() );