| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 12:55:22
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Bem, não sei se esse é o título correto sobre o que eu preciso mas vamos lá.
Tenho uma aplicação desktop que a sua função é apenas realizar consultas em dois bancos de dados.
A consulta é feita, baseada em alguns filtros e apresentada em uma JTable.
As inctruções sql são criadas da seguinte forma:
Primeiro crio a primeira parte, com o select e o "join":
A segunda parte é onde os filtros entram em ação, chamo um método obtendo a string contida num componente swing.
E por fim na terceira parte eu finalizo a query se necessário usando um order by ou group by
Ok, numa aplicação desktop isso não é uma tarefa tão complicada.
Só que estou convertendo essa aplicação desktop para web, e preciso fazer todas essas consultas (são mais de 50 diferentes) e quero fazer isso dentro de um JSP, passando os filtros através da tag sql:param. O problema é que quando um combo no meu form está em TODOS, eu uso LIKE para comparar uma string e passo %, até ai tudo bem, e quando um campo está vazio eu não sei o que fazer, e se for numérico como eu posso fazer com que a comparação m.matriculaA = valorDoCampo seja ignorada, ou seja, fazer com que qualquer m.matriculaA seja pesquisada.
Gostaria de saber o que fazer, não queria fazer um jsp para cada consulta e sim um genérico que passa todos os parametros do form de consulta e quando um campo estiver vazio, seja realiza uma consulta em tudo.
Espero que tenham entendido.
Aguardo resposta!
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 18:22:55
|
andgonca
JavaBaby
![[Avatar]](/images/avatar/6e0ff6e4617ef3586d31b86bbf141011.png)
Membro desde: 17/06/2005 15:51:57
Mensagens: 79
Localização: São Paulo
Offline
|
É Oracle?
Se for vc pode usar nvl().
Assim:
Cria um PreparedStatement com uma query parecida com essa:
E quando for usar, basta dar um setXXX com o que vc recebe do jsp, quando não for nulo, dessa forma o AND do WHERE será considerado.
Se for nulo, faça setNull e o filtro não terá efeito.
Ok?
[]s
|
Information is not knowledge
Knowledge is not wisdom
Wisdom is not truth
Truth is not beauty
- Frank Zappa |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 18:43:21
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Muito obrigado pela resposta, mas são dois bancos... Um é Interbase e o outro é SQL Server.
Mesmo assim valeu a dia!
Até mais!
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 12:56:35
|
r4it0.light
Debugger
Membro desde: 10/11/2009 20:34:01
Mensagens: 62
Offline
|
Estou precisando fazer uma consulta dinâmica o pior de tudo que é com PreparedStatement. Como vc montou essa consulta ?
Se fosse na JPQL era tranquilo ...
tópico antigo !
This message was edited 2 times. Last update was at 09/02/2010 19:10:59
|
Quem é o Juiz ? |
|
|
 |
|
|