|
|
Olá,
Bom pessoal, de uma hora para outra alguns lojistas começaram a reclamar que estava dando erro para atualizar informações de seus produtos. Intrigado pesquisei e percebi que dava problema sempre por causa de alterações no peso e preço.
No forum da locaweb depois de resolver encontrei o seguinte tópico http://forum.locaweb.com.br/showthread.php?t=6402 mas deixo abaixo minha solução:
Abra o arquivo painelctrl/ADM_insereAltProduto.asp:
OBS: NÃO COPIE E COLE OS CÓDIGOS DO POST O MESMO É SÓ PARA REFERENCIA. UM DOS PROBLEMAS QUE VAI DAR SE TENTAR COPIAR O CÓDIGO DO POST É COM RELAÇÃO AS ASPAS, QUE NO POST ESTÃO ASSIM ” POR PADRÃO. PARA EVITAR ERROS DIGITE AS ASPAS DUPLA SE PRETENDE COPIAR E COLAR .
Retire a linha em vermelho(este trecho esta entre alinha 510 a 546 aproximadamente):
If preco_unitario <> “” Then
RS_Produto(“preco_base”) = preco_unitario
RS_Produto(“preco_unitario”) = preco_unitario
End ifRS_Produto(“quantidade_produto”) = quantidade_produto
RS_Produto(“peso”) = peso_produto
RS_Produto(“destaque_vitrine”) = destaque_vitrine
RS_Produto(“promocao”) = promocao
RS_Produto(“desconto”) = descontoRS_Produto(“data_inicio”) = dataInicio
RS_Produto(“data_fim”) = dataFim
E adicione a linha vermelha da seguinte forma:
If preco_unitario <> “” AND myFileUpload.Form(“acao_admin”) = “novo registro” Then
RS_Produto(“preco_base”) = preco_unitario
RS_Produto(“preco_unitario”) = preco_unitario
End ifRS_Produto(“quantidade_produto”) = quantidade_produto
RS_Produto(“destaque_vitrine”) = destaque_vitrine
RS_Produto(“promocao”) = promocao
RS_Produto(“desconto”) = descontoRS_Produto(“data_inicio”) = dataInicio
RS_Produto(“data_fim”) = dataFim
Agora na parte abaixo adicione a linha vermelha (este trecho fica entre a linha 455 a 475 aproximadamente):
End If
‘Se a se acao_admin for novo registro
ElseIf myFileUpload.Form(“acao_admin”) = “novo registro” Then
RS_Produto.Open “SELECT Produtos.* FROM Produtos”, Conexao
‘Metodo que define a ação de novo registro
RS_Produto.AddNew
‘Registra o novo codigo_produto
RS_Produto(“codigo_produto”) = codigo_produto
RS_Produto(“peso”) = peso_produto
End if
Agora logo depois do código “RS_Produto.Update” adicione (entre as linhas 568 a 580 aproximadamente) adicione:
If myFileUpload.Form(“acao_admin”) = “alterar registro” Then
Conexao.execute “UPDATE Produtos SET peso = ‘”& peso_produto &”‘, preco_base= ‘”&preco_unitario&”‘, preco_unitario=’”&preco_unitario&”‘ WHERE codigo_chave = ” & Replace(VetorCodigoChave,”,”,”") & ” AND sigla_idioma = ‘”& Trim(VetorIdioma) &”‘”
End If
Espero ter ajudado.
Abraço.
Posts Relacionados:
Tags:
Obrigado amigos!
Não sabem o quanto ajudaram.
Este problema de custou 20h de instala e desinstala lojaexemplo.
O mundo colaborativo é melhor que o corporativo.
É por isso que devemos ajudar-nos a acabar com A Nova Ordem Mundial.
Obrigado!
Estou usando o mod de voces de produtos relacionados.
Quero outros, mas achei o valor alto.
Mas o trabalho de vocês é excelente!
Obrigado e bom 2010!
Saudações Libertárias
Parabéns pela solução deste problema que é comum a muitos usuários da Loja Pronta. A Loca Web lava as mãos e nos foruns li muitos palpites mas a solucionar o defeito da loja que é bom só mesmo você conseguiu.
Obrigado pelo tutorial que resolveu o meu problema.
Marcelo
Olá… fiz assim.. mas o preço não muda mais
Olá Alessandra,
A parte a seguir é responsavel pela atualização dos preços:
If myFileUpload.Form(”acao_admin”) = “alterar registro” Then
Conexao.execute “UPDATE Produtos SET peso = ‘”& peso_produto &”‘, preco_base= ‘”&preco_unitario&”‘, preco_unitario=’”&preco_unitario&”‘ WHERE codigo_chave = ” & Replace(VetorCodigoChave,”,”,””) & ” AND sigla_idioma = ‘”& Trim(VetorIdioma) &”‘”
End If
Verifique se chegou a colocar.
Abraço.
Olá gostaria de um HELP
Fiz exatamente conforme você informou porém apresenta o seguinte erro agora.
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 ‘‘0.1‘, preco_base= ‘18.90‘, preco_unitario=’18.90‘ WHERE codigo_chave = 91 AND s’ at line 1
/painelctrl/ADM_insereAltProduto.asp, line 580
Pra mim deu outro erro:
Microsoft Cursor Engine error ‘80004005′
Data provider or other service returned an E_FAIL status.
/loja/painelctrl/ADM_insereAltProduto.asp, line 576
Linha 576: RS_Produto.Update
me ajuda?
Olá Carlos,
Pelo erro que deu se atualizar o drive de conexão mysql é provavel que resolva, siga as instruções do seguinte link:
http://design.surgimento.com.br/programacao/como-atualizar-o-drive-de-conexao-mysql-de-sua-loja/
Abraço
Olá Luiza,
Qual banco de dados vc utiliza? MYSQL ou MSSQL?
Aguardo resposta.
Abraço.
Oi admin,
utilizo MySQL
Funcionou. Parabéns, que Deus abençoe você e sua família.
Estou testando a loja exemplo e encontrei o erro de alterar produto, fiz as alterações conforme divulgadas nesta pagina, porem ao testar apareceu o seguinte erro:
Microsoft OLE DB Provider for ODBC Drivers error ‘80040e14′
[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-percona-log]Unknown column ‘pt_BR’ in ‘where clause’
/manfor/loja/painelctrl/ADM_insereAltProduto.asp, line 575
Utilizo Mysql.
Qual a sugestão para acertar este erro.
Grato.
Ola a todos e obrigado por compartilhar a solução.
Acertei o erro que apareceu para o Aécio substituindo as aspas simples…
Se utilizar o copiar e colar tera que trocar todas as aspas como citado no tutorial.
Abraços a todos.