Select

6 respostas
S

Estou fazendo um select onde consulto pelo nome do produto, descrição dos produtos, codigo da marca e a unidade do produto...
Queria saber como faço para realizar a mesma consulta caso deixe algum campo da consulta vazio... por exemplo?

se eu digitar apenas o nome do produto e a marca.... ele tera que retornar assim mesmo...

sql = "select produtos.idproduto,produtos.nomeproduto,marcaproduto.nomemarca,produtos.descricao,produtos.localizacao_produto,produtos.validade,produtos.valorproduto,
produtos.quantidadeestoque,unidades.nomeunidade,unidades.idunidade where 
produtos.nomeproduto like ? and produtos.descricao like ? and marcaproduto.idmarca=? and unidades.idunidade = produtos.idunidade";

6 Respostas

UMC

cara nao e recomendado mais vc pode fazer uma verificação !!!
Ex: se camp1 for null prossiga ate o campo2 e assim vai…
vlw
abs

Adolpho_Alves

vc pode fz uma brincadeira nesse estilo pra gerar a query automaticamente:

StringBuilder query = new StringBuilder();

query.append("select produtos.idproduto,produtos.nomeproduto,marcaproduto.nomemarca,produtos.descricao,produtos.localizacao_produto,produtos.validade,produtos.valorproduto,   
produtos.quantidadeestoque,unidades.nomeunidade,unidades.idunidade");

string aux =  " where ";

if(produtos.nomeproduto != null)
{
    query.append(aux + "produtos.nomeproduto like ?"
    aux = " and ";
}

if(produtos.descricao != null)
{
    query.append(aux + "produtos.descricao like ?"
    aux = " and ";
}
...
UMC

+/- isso q eu kis dizer Adolpho Alves
rsrs
vlw

Adolpho_Alves

pois é eu escrevi antes de ver seu post quando eu terminei teu post tava lá. Acontece :smiley:

Mas deve ajudar.

S

eu tentei colocar no netbeans… mais quando chega a parte do if ele não reconhece os produtos.nomeproduto etc…

Adolpho_Alves

eu coloquei produtos.nomeproduto no if pra representar a variavel q vc ta passando. :wink:

Criado 10 de dezembro de 2009
Ultima resposta 11 de dez. de 2009
Respostas 6
Participantes 3