Sql

Oi pessoal,

Estou tentando fazer uma consulta no banco, mas o comando sql esta com problemas!!alguem pode me ajudar??
O sql é o seguinte:

RS= Stmt.executeQuery("Select distinct P.cod_barra,P.descricao,P.precocusto,P.precovenda from Produto P, PedidoPromocao Ped where Ped.mes ="'+mes+'" and Ped.ano = "'+ano+'" and P.cod_produto = Ped.cod_produto order by "'+ordenado+'"" );

e o seu respectivo erro:
[list]
GuiRelCliente.java:231: unclosed character literal
RS= Stmt.executeQuery(“Select distinct P.cod_barra,P.descricao,P.pre
cocusto,P.precovenda from Produto P, PedidoPromocao Ped where Ped.mes =”’+mes+’
" and Ped.ano = “’+ano+’” and P.cod_produto = Ped.cod_produto order by “’+ordena
do+’”" );

                                                                     ^

GuiRelCliente.java:231: unclosed character literal
RS= Stmt.executeQuery(“Select distinct P.cod_barra,P.descricao,P.pre
cocusto,P.precovenda from Produto P, PedidoPromocao Ped where Ped.mes =”’+mes+’
" and Ped.ano = “’+ano+’” and P.cod_produto = Ped.cod_produto order by “’+ordena
do+’”" );

                                                                           ^

GuiRelCliente.java:231: unclosed string literal
RS= Stmt.executeQuery(“Select distinct P.cod_barra,P.descricao,P.pre
cocusto,P.precovenda from Produto P, PedidoPromocao Ped where Ped.mes =”’+mes+’
" and Ped.ano = “’+ano+’” and P.cod_produto = Ped.cod_produto order by “’+ordena
do+’”" );

 ^

3 errors
[/list]

vc só pode ordenar dados no banco de duas formas crescente ou decrescente, vc esta´tentando fazer outra coisa, po exemplo no mysql a ordenação é feita com o comando order by seu_campo asc(crescente) e order by seu_campo desc (decrescente),
dependendo do banco pode ser diferente a forma de se escrever o comando

Tchê… problema na abertura e fechamento das aspas… tu tava usando aspas simples por fora das aspas duplas e é ao contrário . E no order by não tem aspas simples…

Tenta

("Select distinct P.cod_barra,P.descricao,P.precocusto,P.precovenda  from Produto P, PedidoPromocao Ped where Ped.mes ='"+mes+"' and Ped.ano = '"+ano+"' and P.cod_produto = Ped.cod_produto order by "+ordenado+"" );

[]s

Douglas Falcao

Cara, isso é erro de aspas, dá uma conferida melhor se está abrindo e fechando certinho.

Galera, troquei as aspas de lugar e o sql esta funcionando com alguns problemas, o primeiro é que ele nao esta ordenando os dados e segundo, nao estou conseguindo usar o distinct com o order by. Vejam o erro:

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Clßusula O
RDER BY (‘P.descricao’) em conflito com DISTINCT.

Cara, dá uma olhada neste site que é muito bom em instruçoes sql…

e veja o que vc está fazendo de errado. Ele está apontando que o seu order by está com problema.

http://www.1keydata.com/sql/sql.html

Abraços

Resolvi, tinha que tirar as aspas simples!!