Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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:
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
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
Alexandre, deu certo.Obrigado!E obrigado ao Kel também.Valeu!
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..
>
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
) TYPE=InnoDB
tenta assim
strSQL = "SELECT * FROM Categoria ORDER BY cod_categoria, desc"