fala galera!!
bem … eu tenho um código horroroso aqui que conecta no banco e tal (o importante é q funciona)
Eu consigo salvar as informações na sessão, agora … como faço prapegar o valor da sessão e fazer a consulta no banco? O comando sql é tranquilo, quero saber como é a estrutura no jsp.
Brigadão galera! 
Já ta começando mal hein…
Para pegar os atributoas da sessao voce faz no jsp:
session.getAttribute(“nome do atributo”);
Pelo que eu entendi você está fazendo todo o codigo na pagina jsp, certo?
Isto eh uma pessima pratica de programação. Aconselho a dar uma estudada em servlets e depois em frameworks de desenvolvimento web.
OK.
isso aii, boa marcosbrandao
olha cara, eu sei exatamente como se deve trabalhar e tal, sei que devemos colocar os códigos seprados bonitinhos e não tudo no jsp, mas é que eu tô num estágio em que ninguém sabe java e eu só tô vendo agora e os caras pediram pra eu fazer uma parada aqui pra ontem!!!
sem condições de trablhar direito!
Esse lance que vc falou do getAttribute eu já vi, o que eu quero saber é como pegar o valor da sessão e fazer um sql tipo (select * from abc where <campo1> = <valor_da_sessão>
Se não conseguir entender eu tento explicar de novo melhor!!
Negociar sempre é uma boa prática, se você está desenvolvendo a aplicação
você pode alegar que exercer boas práticas de desenvolvimento, tornará a seu sistema mais rápido e confiável, por experiência própria se você desenvolver algo meia boca e mais para frente quando está aplicação estiver no ar, acontecer algo de errado, a corda arrebentará do lado mais fraco, que
somos nós programadores. Então é sempre legal defender seu interesse.
Qt ao seu problema somente atribua o valor da sessão a uma variável e a utilize no select : P
Até
Bem gente, quanto a isso não há o que se preocupar, eu tenho aval do meu cheme pra fazer essas cagadas! O sistema é tão simples q se der erro EU tenho q apanhar muito!
É só pra fazer uma busca no banco!
Já consegui, vlw pelo apoio de vcs!
Só mais uma dúvida!
Eu escolho o que quero buscar e envio as informações pra consulta, mas eu queria que a primeira opção fosse “todos”, como ficaria???
Vlw!
Bom, não sei como está seu código, o interessante seria você posta-lo para que pudessemos ver …
mas caso seja em um <select> você poderia fazer assim:
<select>
<option>Todos</option>
abre loop
<option>valor vindo do banco de dados</option
fecha loop
</select>
Não se esqueça de enviar os parâmetros para o banco.
Falou amigãoooo
O mais tristeé que eu tô com vergonha do meu código cara! Tá feião!
Mas o que você disse funcionou, e fiz da seguinte forma:
Tem lá o Sql com os parametros, se o cara marcar todos eu mando uma variável receber nada (para pegar todos os dados), se o cara escolhe alguma opção e mando a mesma variável receber os parâmetros!
Até aí blz, se esse for o jeito correto, ou menos pior blz!
Meu problema são os and’s entre cada parâmetro!
Qualquer coisa mal explicada fala que eu tento explicar melhor!
Ja que a necessidade do codigo era pra ontem e vc mesmo esta dizendo que ta “feião” mas ta funcionando. Deixa ele funcioanndo por enquanto e vá melhorando o codigo e faça uma nova versão mais arruamada e mais “bonita”…
Abraço…
Com certeza, a minha idéia é fazer rodar e com o tempo melhorá-lo.
Mas eu queria saber como trazer todos os registros, não sei se o meu está bom!
Ex: Temos uma tabela com nome, endereço e tel. Temos vários nome cadastrados: João, Maria, José, Fulano, etc.
Eu sei como escolher João e trazer seu nome, end e tel.
Mas como faço pra trazer todos os registros de uma vez!
Eu tenho um if que verifica o list box, se escolheram todos, ele coloca no sql a estrutura que traz tudo!
Mas se alguém me der um exemplo, o meu tá esquisitão ó só!!
if (venue.equals("All")) {
allVenue = "";
} else {
allVenue = "venue_name ='"+venue+"'";
}
if (fa.equals("All")) {
allFa = "";
} else {
allFa = "fa ='"+fa+"'";
}
if (fp.equals("All")) {
allfp = "";
} else {
allfp = "fp ='"+fp+"'";
}
if (fp.equals("All") & fa.equals("All") & venue.equals("All")) {
chkWhere = "";
} else {
chkWhere = "where";
}
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from request, Finished_Product "+chkWhere+" "+allVenue+" "+allFa+" "+allfp+"");
while(rs.next())
{
out.println("<tr><td>" +
rs.getString("venue_name") +
"</td><td>" +
rs.getString("Location_code") +
"</td><td>" +
rs.getString("fp_name") +
"</td><td>" +
rs.getString("Requested_FP_Quantity") +
"</td><td>" +
rs.getString("fa") +
"</td></tr>");
}
%>
</table>
Eu já sei q isso aí em cima não se faz!!
Vlw pela ajuda galera!
Esqueci de dizer, assim desse modo os “and’s” do sql ficám mó merda!
vou ter que fazer uns if’s pra eles também??
Cara, faz assim acho que é mais fácil.
Você pega o valor lá do <select> e coloca ele em uma variável.
String select = session.getAttribute("nome do atributo");
Aí depois você só faz um if para verificar o valor desta sessão, se estiver vazia você faz um
select * from request
Se possuir um valor aí você coloca esse seu select doidao aí … rs!
Tenta aí se precisar posta aí que a gente ajuda.
Abraço!
Mas aí é q tá a merda!
eu tô fazendo isso mesmo, mas são 3 opções no total!
O problema é o seguinte:
esse é o meu Sql:
Select * from request, "+chkWhere+" "+allVenue+" and "+allFa+" and "+allfp+";
Eu esqueci de por os and’s, foi mal!!
Aí funciona assim, se eu escolher algum valor pra venue, a variável “chkVenue” é prenchida com o valor, se eu escolher todos ela é preenchida com " " ->(nada);
Se eu escolher todos nos tres listboxes aqueles dois and vão ficar ali sozinhos, e vão dar erro!
espero q esteja explicado melhor!
vlw aí pela ajuda galera!
Aê galera, eu precisava mesmo dessa paradinha aí!
Ninguém tem alguma sugestão não?
Vlw
Você tem essa situação:
Um combo com Todos, Exemplo 1, Exemplo 2 e Exemplo 3.
No seu código Java, você pegará o valor escolhido e o código ficará parecido com:
String consulta = "select * from suaTabela where 1=1";
if(obj.getValor() != null || !obj.getValor().equals("")) {
consulta += "and " + obj.getValor();
}
//Continue para os outros valores
Com essa situação, se ele selecionar todos, não haverá valor então a consulta será geral, caso contrário a String irá ser formada dependendo dos valores que você passar.
1º: Faça um método que retorne um valor booleano para essa validação:
obj.getValor() != null || !obj.getValor().equals("")
2º: É interessante setar os valores através do PreparedStatement.
Pow cara!
corrija-me se eu estiver falando besteira!
consulta += "and " + obj.getValor();
Isso vai adicionar o and e o valor!
Nesse caso quando eu adicionar a primeira opção ele num vai logo colocar o and na frente?
Eu não sei se foi isso que você entendeu, são 3 combos, e entre todas as opções de cada combo a primeira é todos.
o operador += concatena o valor existente na variável com aquilo que você precisa. Neste caso o + obj.getValor();
Este exemplo que foi dado pelo Carneiro se aplica na situação de 3 combos também.
Abraços,
mas foi isso q quis dizer!
ele concatena o valor!
consulta += "and " + obj.getValor();
Mas por exemplo, o resultado disso aqui em cima não seria:
and <valor_qualquer>
caso seja isso vai dar errado! pois o sql vai ficar assim!
select * from abc where and <valor_qualquer>
Não, ele só vai preencher os valores do where se os valores do objeto tiverem valor.
Cara!!
vim aqui só pra agradecer! consegui fazer esse treco doido que tava me perturbando!
Pena que não posso ajudar ninguém, ainda num sei quase nada!
mas tamo aí pra qualquer coisa!
e se segura que vem mais perguntas!
vlw galera!!!