Sql

3 respostas
G

Oi…
Tenho dois sqls um para pesquisar pelo número do pedido e outro para pesquisar pelo intervalo entre a data inicial e a data final…
só que quando eu chamo a consulta ela não retorna nada…

PreparedStatement pstmt = conn.prepareStatement(“SELECT p.idt, p.numero, endereco,nm_rz_social,c.cpf_cnpj, dt_pedido, hr_pedido FROM pedidos p, clientes c WHERE (p.cpf_cnpj = c.cpf_cnpj) AND (p.numero = '”+vr_numero+"’)");

PreparedStatement pstmt2 = conn.prepareStatement(“SELECT p.idt, p.numero, endereco,nm_rz_social,c.cpf_cnpj, dt_pedido, hr_pedido FROM pedidos p, clientes c WHERE (p.cpf_cnpj = c.cpf_cnpj) AND (p.numero BETWEEN '”+data+"’ AND ‘"+datafinal+"’)");

if(vr_numero =="") {

[color=red]ResultSet rst_consulta_data = pstmt2.executeQuery();

rst_consulta_data.next();

String cod;

cod = rst_consulta_data.getString(p.numero);[/color]

}
else {

ResultSet rst_consulta_pedido = pstmt.executeQuery();

while (rst_consulta_pedido.next()) {

String cod;
cod = rst_consulta_pedido.getString("p.numero");

3 Respostas

S

e aí… blz ?

há 2 possibilidades:

  1. teu banco nao tem dados
  2. tua consulta não tá fazendo o que vc queria que fizesse

antes de implementar tua consulta roda ela num Query Analizer pra ver o resultado…

Falow

A

Tenta colocar um sinal de porcentagem entre as aspas deste jeito (’%"+vr_numero+"%’) e usa o try e catch para os dois jeitos:

try
{
    PreparedStatement pstmt = conn.prepareStatement("SELECT p.idt, p.numero, endereco,nm_rz_social,c.cpf_cnpj, dt_pedido, hr_pedido FROM pedidos p, clientes c WHERE (p.cpf_cnpj = c.cpf_cnpj) AND (p.numero = '%"+vr_numero+"%')"); 
}
catch(Exception e)
{
   System.err.println(e);
}
  1. PAZ
R

o que a % faz ?

Criado 27 de maio de 2004
Ultima resposta 30 de mai. de 2004
Respostas 3
Participantes 4