Ir para conteúdo

POWERED BY:

Arquivado

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

psycomtb

[Resolvido] Problemas com Frete Personalizado - Loja Exemplo

Recommended Posts

Bom dia galera,

tenho uma loja exemplo hospedada em uma revenda Locaweb, que estava com alguns problemas na hora de alterar o frete personalizado, segui as dicas dadas pelo amigo do site Surgimento.com.br do seguinte link: http://www.surgimento.com.br/blog/tutoriais/como-resolver-problema-ao-atualizar-o-frete-personalizado-da-loja-exemplo/ e o problema mudou, agora está dando o seguinte erro:

 

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

 

[MySQL][ODBC 5.1 Driver][mysqld-5.0.91-community-nt]Unknown column '’0‘' in 'where clause'

 

/loja/painelctrl/ADM_altera_valores_frete.asp, line 52

 

Aqui está o código da página:

<%
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
' Loja Exemplo Locaweb
' Versão: 6.5
' Data: 18/10/06
' Arquivo: ADM_altera_valores_frete.asp
' Versão do arquivo: 0.0
' Data da ultima atualização: 27/06/08
'
'-----------------------------------------------------------------------------
' Licença Código Livre: http://comercio.locaweb.com.br/gpl/gpl.txt
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

server.scripttimeout = 300
%>
<!--#INCLUDE FILE="funcoes/ADM_funcoes_checa_senha.asp"-->
<!--#INCLUDE FILE="funcoes/ADM_funcoes_pedidos.asp"-->
<!--#INCLUDE FILE="../funcoes/funcoes.asp"-->
<%
' Esta página só pode ser acessada se o visitante já se autenticou
checa_senha()

'Verifica se o perfil de usuário permite acesso a esta página
Call checa_perfil_admin(""&ADMTarifas&"")
'Abre o banco de dados
Call abre_conexao(conexao)

For o=0 to 30

	valor_fr = Split(Replace(Request.form("P"&o),", ","#"),"#")

       For I = 0 to Ubound(valor_fr)

		Set RS_Produto = Server.CreateObject("ADODB.Recordset")

		RS_Produto.CursorLocation = 3
		RS_Produto.CursorType = 0
		RS_Produto.LockType = 3

		RS_Produto.Open "SELECT codigo_frete, UF, Localidade, indicador, km, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, advalorem from Tabela_frete_personalizado WHERE codigo_frete ="&I&"", Conexao
           If request("valorPadrao") <> "" And Request("ativaValorPadrao") = "sim" Then
               'Caso o usuário defina um valor de frete único para todas as regiões
               valor_basePadrao = replace(request("valorPadrao"),".","")
               valor_basePadrao = replace(valor_basePadrao,",",".")
			Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&Trim( valor_basePadrao)&"‘ WHERE codigo_frete =’"&I&"‘ "
               'RS_Produto("P"&o) = valor_basePadrao

           Else
               'Caso o usuário defina um valor de frete diferente para cada região.
               valor_base       = replace(valor_fr(I),".","")
               valor_base       = replace(valor_base,",",".")
			Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "
               'RS_Produto("P"&o) = Trim(valor_base)
           End if
		'RS_Produto.Update

           RS_Produto.Close
           Set RS_Produto = Nothing

	Next 

Next 

Call fecha_conexao()
Response.redirect "ADM_valores_frete.asp?msgRet=Dados atualizados"
%>

 

Tenho um breve conhecimento em ASP, se puderem me ajudar a resolver esse impasse ficarei grato.

Desde ja, obrigado

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode indicar qual é a linha 52 ?

Note que o erro já acusa o problema, ele não acha / reconhece a coluna 0 (ou o) na clausula where, deve ser uma das 2 linhas (ou ambas) que tem isto: RS_Produto("P"&o)

Ao inves de executar o comando, troca por um response.write para ver como está sendo construida a sql, assim fica mais fácil localizar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode indicar qual é a linha 52 ?

Note que o erro já acusa o problema, ele não acha / reconhece a coluna 0 (ou o) na clausula where, deve ser uma das 2 linhas (ou ambas) que tem isto: RS_Produto("P"&o)

Ao inves de executar o comando, troca por um response.write para ver como está sendo construida a sql, assim fica mais fácil localizar o erro.

 

Bom dia amigo,

a linha 52 é a seguinte

Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "

Você poderia me excplicar onde exatamente troco por Response.Write?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo na linha que apresenta o erro:

Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "

 

Troque por:

Response.write "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "

 

E veja o que é exibido como resultado.

Pode ser que apresente outra linha com erro, se for uma linha onde tem uma clausula sql, ou comenta-se ela ou tambem realiza-se esse procedimento para verificar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, parece que o problema foi resolvido!

Troquei o conexao.execute por response.write como você falou e consegui atualizar a tabela normalmente.

 

Muito obrigado!

 

Por exemplo na linha que apresenta o erro:

Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "

 

Troque por:

Response.write "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&valor_base&"‘ WHERE codigo_frete =’"&I&"‘ "

 

E veja o que é exibido como resultado.

Pode ser que apresente outra linha com erro, se for uma linha onde tem uma clausula sql, ou comenta-se ela ou tambem realiza-se esse procedimento para verificar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

??

O response.write é um comando para exibir alguma coisa na tela, não é um comando para executar algo no servidor.

O resultado esperado seria exibir na tela algo do tipo:

UPDATE Tabela_frete_personalizado SET P1=’"2"‘ WHERE codigo_frete =’"1"‘ "

 

Verifique se os dados realmente foram atualizados e/ou armazenados no banco de dados.

Caso tenham sido, comente a linha onde está o response.write e veja se o script funciona normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão, realmente os dados não atualizam no banco de dados, porém não retorna nenhuma mensagem de erro.

Quando clico em alterar, exibe a mensagem que os dados foram alterados com sucesso, entretanto não altera nada na tabela.

 

??

O response.write é um comando para exibir alguma coisa na tela, não é um comando para executar algo no servidor.

O resultado esperado seria exibir na tela algo do tipo:

UPDATE Tabela_frete_personalizado SET P1=’"2"‘ WHERE codigo_frete =’"1"‘ "

 

Verifique se os dados realmente foram atualizados e/ou armazenados no banco de dados.

Caso tenham sido, comente a linha onde está o response.write e veja se o script funciona normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eis a resposta que obtive:

UPDATE Tabela_frete_personalizado SET P0=’0.00‘ WHERE codigo_frete =’0‘

 

Abaixo do response.write da linha 52, coloca um response.end e verifique o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo, analisei a base de dados e o campo realmente existe e está igual aos outros, o estranho é que os outros campos ele alimenta normalmente.

 

2edw1er.jpg

 

Eu realmente fiquei perdido agora

 

Com base nessas informações, verifique se existe os campos, por exemplo o P0 e se ele aceita dados no formato que está sendo passado.

E, claro, se essas são as informações esperadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esten erro pode ser de ortografia. pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada. e também veja se os tipos de dados estão corretos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, pode citar um exemplo de como faço isso?

 

o código completo do arquivo que altera os valores do frete personalizado é este

<%
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
'-----------------------------------------------------------------------------
' Licença Código Livre: http://comercio.locaweb.com.br/gpl/gpl.txt
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

server.scripttimeout = 300
%>
<!--#INCLUDE FILE="funcoes/ADM_funcoes_checa_senha.asp"-->
<!--#INCLUDE FILE="funcoes/ADM_funcoes_pedidos.asp"-->
<!--#INCLUDE FILE="../funcoes/funcoes.asp"-->
<%
' Esta página só pode ser acessada se o visitante já se autenticou
checa_senha()

'Verifica se o perfil de usuário permite acesso a esta página
Call checa_perfil_admin(""&ADMTarifas&"")
'Abre o banco de dados
Call abre_conexao(conexao)

For o=0 to 30

	valor_fr = Split(Replace(Request.form("P"&o),", ","#"),"#")

       For I = 0 to Ubound(valor_fr)

		Set RS_Produto = Server.CreateObject("ADODB.Recordset")

		RS_Produto.CursorLocation = 3
		RS_Produto.CursorType = 0
		RS_Produto.LockType = 3

		RS_Produto.Open "SELECT codigo_frete, UF, Localidade, indicador, km, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, advalorem from Tabela_frete_personalizado WHERE codigo_frete ="&I&"", Conexao
           If request("valorPadrao") <> "" And Request("ativaValorPadrao") = "sim" Then
               'Caso o usuário defina um valor de frete único para todas as regiões
               valor_basePadrao = replace(request("valorPadrao"),".","")
               valor_basePadrao = replace(valor_basePadrao,",",".")
			Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&Trim( valor_basePadrao)&"‘ WHERE codigo_frete =’"&I&"‘ "
               'RS_Produto("P"&o) = valor_basePadrao
           Else
               'Caso o usuário defina um valor de frete diferente para cada região.
               valor_base       = replace(valor_fr(I),".","")
               valor_base       = replace(valor_base,",",".")
			Conexao.execute "UPDATE Tabela_frete_personalizado SET P"&o&"=’"&Trim( valor_basePadrao)&"‘ WHERE codigo_frete =’"&I&"‘ "
               'RS_Produto("P"&o) = Trim(valor_base)
           End if
		RS_Produto.Update

           RS_Produto.Close
           Set RS_Produto = Nothing

	Next 

Next 

Call fecha_conexao()
Response.redirect "ADM_valores_frete.asp?msgRet=Dados atualizados"
%>

 

Obrigado

 

Converte os dados para o tipo compativel ao do banco de dados e veja se dá certo.

Talvez o CDBL seja o mais indicado para ti neste caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta trocar o ´ e o ` por aspas simples.

 

Quando voce copia e cola em alguns casos isso vem trocado e ferra o codigo... Fiz um teste para simular seu erro e depois substitui as ASPAS e as ASPAS SIMPLES que vieram no codigo copy/paste e funcionou...

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, era exatamente isso. Problema resolvido

Muito obrigado a todos que colaboraram!

 

Abraços

 

Basta trocar o ´ e o ` por aspas simples.

 

Quando voce copia e cola em alguns casos isso vem trocado e ferra o codigo... Fiz um teste para simular seu erro e depois substitui as ASPAS e as ASPAS SIMPLES que vieram no codigo copy/paste e funcionou...

 

Abs

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.