SQL e Java

11 respostas
B

Pessoal gostaria de saber se em JAVA ou em comando SQL teria como fazer de maneira simples:

Exemplo existe o botaum Proximo e Anterior na minha aplicação e tem os codigos na minha tabela: 8,5,2,3,6.

Mostrar primeiro o 2(no início da aplicação) e quando o usuário apertar o próximo ir pro 3, depois de novo e ir pro 5…

Tem como eu fazer isso sem criar muita coisa, pra que naum fique lento?

obrigado,

Raphael C.

11 Respostas

L

Não sei se entendi direito o q vc quer fazer …

Mas me pareceu q vc quer mostrar uns dados d forma ordenada pelo código.

Caso seja, basta vc fazer uma consulta SQL usando ORDER BY

SELECT Codigo,Nome FROM myTable ORDER BY Codigo
B

Leumas, era quase isso, vc escreveu quase tudo, a única coisa que está faltando é que eu naum quero todos os códigos(porque se naum vou ter que armazená-los em algum lugar né ?e entaum vai ocupar memória), teria como eu buscar código por código para naum ter esse problema?

Exemplo : Existem, cadastrados,os códigos: 2,5,6,8,1,10 ; (Isso é um exemplo de consulta)aí entaum, vai aparecer o primeiro código na tela: 1 e quando o usuário clicar no botão próximo irá aparecer o 2 etc.

Só que o que eu gostaria que viesse código por código(Um Select ser executado para cada código; mas em ordem msm,como vc fez),a única diferença é que eu gostaria que viesse código por código e naum todos de uma vez, teria como fazer isso?

SELECT Codigo,Nome FROM myTable ORDER BY Codigo

L

Vc poderia usar uma consulta como essaSELECT Codigo,Nome FROM myTable WHERE Codigo=1 ORDER BY Codigo
O problema d usar uma consulta como essa é q vc vai ter q saber d ante-mão, todos os códigos existentes.

Outra coisa, qdo vc faz uma consulta SQL, ela fica armazenada no BD e vc recupera apenas o registro atual (somente ele vai para a memória).

B

Com certeza esse último SELECT vai ser inviável pelo o que vc respondeu, mas como posso usar esse outro SELECT(SELECT Codigo,Nome FROM myTable ORDER BY Codigo ) se ele traz todos os códigos? vou ter que armazenar esses códigos em um array né?
Ou se eu executá-lo cada vez que o usuário apertar o botão próximo, vai ser buscado sempre o primeiro código, naum é?

B

Eu disse que seria inviável não porque vc naum sabe fazer algo viável, mas porque vc mostrou pra mim que seria inviável, vc entendeu né?

S

bigwaves, quando vc faz uma consulta em um banco de dados usando java, a sua consulta fica armazenada em um “ResultSet”, no seu caso creio que o custo será muito maior se você for fazer uma consulta cada vez que apertar um botão, do que se você buscar tudo de uma vez e deixar no “ResultSet”;

Fazendo desta forma, vc faz apenas uma conseulta e cada vez que é apertado o botão “proximo” vc apresenta o comando “ResultSet.next()
que ele já vai para o proximo registro.

Mesmo que vc tenha muitos registros ainda acredito que esta seja a melhor forma.

B

sens , vc falou sobre o ResultSet e me surgiu uma idéia. O que está acontecendo é o seguinte , esse código abaixo é que está sendo usado pra trazer todos os códigos cadastrados na tabela:

ac.trazLinhas(codsFilme, “codpessoa from pessoa Order by codpessoa”);

ac é uma instância de uma classe(classe que acessa a tabela, que faz o acesso SQL na tabela) , trazLinhas é um método que usa como parâmetros um Array de inteiros e uma query, entaum esse método traz todos os códigos ordenados e coloca dentro do codsFilme. O ponto que quero chegar é esse:

Como vc me apresentou, é pra eu usar o resultset direto, entaum eu gostaria de saber qual é melhor , usar direto o resultset ou continuar usando esse array?Faço essa pergunta porque acho que o array naum é bom pois ocupa mais memória entaum quero saber se estou certo…

Obrigado,

Raphael.

(sens vc tem ICQ?)

S

Raphael, cada item do array ocupa o espaço daquele objeto que ela quarda.

Não sei se com o ResultSet o espaço gasto em memória será menor. Acredito que será equivalente. Por que internamente o ResultSet também armazena um array…

icq 35364691
msn [email removido]

S

Mas se seu Array é de inteiros vc tem certeza que precisa se preocupar tanto assim com memória?

Quantos elementos mais ou menos vc terá nessa tabela?
B

sens , realmente o que vc disse é verdade(sobre a memória), já testei com vários códigos cadastrados e deu certo sem problema, valeu pela ajuda, obrigado. Ah sens, vc tem ICQ?

S

bigwaves, fico feliz de ter ajudado…

meu ICQ : 35364691 - me chama la que eu te adiciono também…

abraço…

Criado 9 de janeiro de 2005
Ultima resposta 16 de jan. de 2005
Respostas 11
Participantes 3