Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evilkenzera

Problemas com ORDER BY

Recommended Posts

Pessoal é o seguinte:

 

Quando o usuário se loga, ele entra numa página que mostra

o último pedido lançado por ele, porém não estou conseguindo

ordenar os pedidos.

 

Não entendo porque não aceita order by, não sei onde estou errando.

Será que alguém pode me ajudar?

 

Dá esse erro:

# Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY cod_pedido desc' at line 1

/supermercado/pedido_lista_ultimo.asp, line 23

 

 

Segue abaixo o código:

<%Dim Conexao, rsCategoria, strSQLDim rsVisual, strSQLVisualDim rsPedido, strSQLPedido'varP = Request.QueryString("U")varC = Session("Cod_cliente")   strSQL = "SELECT * FROM Categoria ORDER BY cod_categoria"strSQLVisual = "SELECT * FROM visual"strSQLPedido = "SELECT * FROM pedidos "strSQLPedido = strSQLPedido & "WHERE COD_cliente = " & varC strSQLPedido = strSQLPedido & "ORDER BY cod_pedido desc "'abre conexãoCall abre_conexaoSet rsCategoria = Conexao.Execute(strSQL)Set rsVisual = Conexao.Execute(strSQLVisual)Set rsPedido = Conexao.Execute(strSQLPedido)   'LINHA 23%>

Meu banco de dados MYSQL

 

CREATE TABLE `pedidos` (

`COD_PEDIDO` int(11) default NULL,

`DTA_PEDIDO` varchar(20) default NULL,

`COD_CLIENTE` int(11) default NULL,

`OBS` varchar(50) default NULL,

`FECHADO` char(1) default NULL,

`SUB_TOTAL` double(15,3) default NULL,

`TOTAL_GERAL` varchar(15) default NULL,

`PAGAMENTO` char(2) default NULL,

`STATUS` varchar(50) default NULL,

KEY `Cod_Pedido` (`COD_PEDIDO`)

) TYPE=InnoDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal é o seguinte:

 

Quando o usuário se loga, ele entra numa página que mostra

o último pedido lançado por ele, porém não estou conseguindo

ordenar os pedidos.

 

Não entendo porque não aceita order by, não sei onde estou errando.

Será que alguém pode me ajudar?

 

Dá esse erro:

# Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY cod_pedido desc' at line 1

/supermercado/pedido_lista_ultimo.asp, line 23

 

 

Segue abaixo o código:

<%Dim Conexao, rsCategoria, strSQLDim rsVisual, strSQLVisualDim rsPedido, strSQLPedido'varP = Request.QueryString("U")varC = Session("Cod_cliente")   strSQL = "SELECT * FROM Categoria ORDER BY cod_categoria"strSQLVisual = "SELECT * FROM visual"strSQLPedido = "SELECT * FROM pedidos "strSQLPedido = strSQLPedido & "WHERE COD_cliente = " & varC strSQLPedido = strSQLPedido & "ORDER BY cod_pedido desc "'abre conexãoCall abre_conexaoSet rsCategoria = Conexao.Execute(strSQL)Set rsVisual = Conexao.Execute(strSQLVisual)Set rsPedido = Conexao.Execute(strSQLPedido)   'LINHA 23%>

Meu banco de dados MYSQL

 

CREATE TABLE `pedidos` (

`COD_PEDIDO` int(11) default NULL,

`DTA_PEDIDO` varchar(20) default NULL,

`COD_CLIENTE` int(11) default NULL,

`OBS` varchar(50) default NULL,

`FECHADO` char(1) default NULL,

`SUB_TOTAL` double(15,3) default NULL,

`TOTAL_GERAL` varchar(15) default NULL,

`PAGAMENTO` char(2) default NULL,

`STATUS` varchar(50) default NULL,

KEY `Cod_Pedido` (`COD_PEDIDO`)

) TYPE=InnoDB

 

tenta assim

 

strSQL = "SELECT * FROM Categoria ORDER BY cod_categoria, desc"

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca um espaço entra a aspas e o order by

como na linha anterior você está concatenando uma variavel o comando sql ficaria:

 

SELECT * FROM pedidos WHERE COD_cliente = variavelORDER BY cod_pedido desc

 

com o espaço fica

 

SELECT * FROM pedidos WHERE COD_cliente = variavel ORDER BY cod_pedido desc

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assimstrSQL = "SELECT * FROM Categoria ORDER BY cod_categoria, desc"

Só pra constar.A vírgula que adicinou, neste caso serve para separar campos, e não se aplica ao modificador "desc". http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif flw.Agora, uma dica para galera é que, sempre que tiverem erros de sintaxe de SQL, escrevam o comando na tela..Dessa forma fica fácil achar o problema..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.