Ir para conteúdo

POWERED BY:

Arquivado

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

Khelly

[Resolvido] Problemas com sintaxe float

Recommended Posts

Ola pessoal!!! tenho o seguinte codigo para efetuar update:

 

Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "'), nome_produto_item='" & nome_produto &"' WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

so que na hora que executo apagina esta aparecendo o seguinte erro:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 3.51 Driver][mysqld-5.1.30-percona-log]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 'float, '406'), nome_produto_item='4241 - Barraca Cobra 4' WHERE codigo_pedido = ' at line 1

 

Alguem sabe me explicaro que pode esta errado em meu codigo?...desde ja agadeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se os nomes dos campos e tabelas estão corretos, e dê m response.write na variavel sql para ver o que esta sendo passado.

 

response.write(SQL)

renpose.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o que vcme falou, os nomes estao corretos na tabela e verifiquei com response o que esta sendo passado e continuou assim:

 

preco_unitario = convert(float, '406')

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-5.1.30-percona-log]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 'float, '406'), nome_produto_item='4241 - Barraca Cobra 4' WHERE codigo_pedido = ' at line 1 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

 

Dim Sql


Sql = "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "'), nome_produto_item='" & nome_produto &"' WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

Response.Write(Sql) ' aqui ele vai imprimir a query e vai mostrar o que está errado

Conexao.Execute Sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

converta campo float para Ddl, CDbl(campo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei como você falou o codigo ficou assim:

 

 Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(cdbl, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "'), nome_produto_item='" & nome_produto &"' WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

Mas agora aparece esse erro:

 

preco_unitario = convert(cdbl, '406'), nome_produto_item='4241 - Barraca Cobra 4'

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 3.51 Driver][mysqld-5.1.30-percona-log]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 ''406'), nome_produto_item='4241 - Barraca Cobra 4' WHERE codigo_pedido = 53 AND ' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testou isso:

 

Dim Sql


Sql = "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "'), nome_produto_item='" & nome_produto &"' WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

Response.Write(Sql) ' aqui ele vai imprimir a query e vai mostrar o que está errado

Conexao.Execute Sql

Vai imprimir a query inteira, daí você vai ver o que está errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

converte ele antes...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brigadinha Xaburzum, fiz como você falou e funcionou,agora ta certinho...brigadinha a todos que ajudaram...RESOLVIDO

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.