Loja Locaweb
#1 fas
Posted 26/02/2003, 16:52
Microsoft VBScript runtime error '800a005e'
Invalid use of Null: 'CDbl'
/store/carrinho.asp, line 281
O que pode ser isto?!!?
#2
Posted 26/02/2003, 16:57
Sem Imagens!
#3 Guest
Posted 26/02/2003, 19:43
<!--#INCLUDE FILE="funcoes_uteis.asp" --> <!--#INCLUDE FILE="frete.asp" --> <!--#INCLUDE FILE="met_pag_carrinho.asp" --> <% ' ********************************************************* ' Versão 4.1 ' ********************************************************* ' Abre conexao com banco de dados Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open Application("StringConexaoODBC") ' Quando esta pagina é chamada pela primeira vez durante a visita, é criado um novo registro na ' tabela de pedidos, e este tambem é gravado na variavel de sessao pedido_cookie = Request.Cookies(Application("Nome"))("codigo_pedido") If Session("user_id") = "" Then Session("user_id") = Request.Cookies(Application("Nome"))("user_id") ' este cookie eh utilizado pelo WebTrends para gerar o relatorio de visitantes ' que mais frequentaram o site. Session("cookieID") = Request.Cookies("SITESERVER")("ID") End If Session("taxa_envio") = 0 If Request.Form = "" Then ' Pesquisa o codigo de pedido mais alto existente Set RS_Max = Server.CreateObject("ADODB.Recordset") ' checa se pedido ja foi concluido, se nao insere na tabela. ' Isto é necessario por medidas de seguranca. O Cookie é um arquivo texto facilmente ' modificado e alguem pode tentar usar um pedido que ja existe e foi concluido e assim ' iria estraga-lo. If pedido_cookie <> "" Then RS_Max.Open "SELECT codigo_pedido, forma_pagamento FROM Pedidos WHERE codigo_pedido=" & pedido_cookie, Conexao If RS_Max.EOF Then ' Nao achou. Tem que criar pedido pedido_cookie = "" Else ' Ja que pedido nao foi completado podemos usa-lo. If IsNull(RS_Max("forma_pagamento")) Then Session("codigo_pedido") = pedido_cookie ' Pedido ja foi usado. Else pedido_cookie = "" End If End If RS_Max.Close End If ' cria novo pedido se nao estiver no Cookie ja ou se for verificado que esta pedido ' ja foi completado. If pedido_cookie = "" Then RS_Max.Open "SELECT MAX(codigo_pedido) AS max_codigo_pedido FROM Pedidos", Conexao ' Acrescenta 1 e grava novo codigo de pedido If IsNull(RS_Max("max_codigo_pedido")) Then novo_codigo_pedido = Application("NumPedidoInicial") Else novo_codigo_pedido = RS_Max("max_codigo_pedido") + 1 End If Conexao.Execute "INSERT INTO Pedidos (codigo_pedido) VALUES (" & novo_codigo_pedido & ")" ' Grava novo codigo do pedido na sessao para que possa ser lido de outras paginas Session("codigo_pedido") = novo_codigo_pedido ' Grava novo codigo do pedido em um cookie. Response.Cookies(Application("Nome"))("codigo_pedido") = novo_codigo_pedido Response.Cookies(Application("Nome")).Expires = now + Application("DiasValidosPedido") Response.Cookies(Application("Nome")).Domain = Application("URLdaLoja") RS_Max.Close End If Set RS_Max = Nothing End If ' Esta pagina pode ser chamada de dois diferentes locais: ' ' Da pagina de produtos, quando o visitante clica em um produto: ' Nesse caso, deve ser lida a variavel codigo_produto, que e enviada junto com o request da pagina ' pois os links da pagina de produto sao do tipo carrinho.asp?codigo_produto=xxx ' ' Da propria pagina carrinho.asp quando o visitante resolve mudar a quantidade de um dos itens. ' Nesse caso a quantidade alterada devera estar na variavel de POST Set RS_Pedido_Item = Server.CreateObject("ADODB.Recordset") If Request.QueryString("codigo_produto") <> "" Then ' Chamada foi feita clicando em um item na pagina de produtos ' Se ja nao esta no pedido, item é incluido na tabela Pedido_Item RS_Pedido_Item.Open "SELECT codigo_pedido FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & Request.QueryString("codigo_produto"), Conexao If RS_Pedido_Item.EOF Then ' Nao achou. Portanto inclui Conexao.Execute "INSERT INTO Pedido_Item (codigo_pedido, codigo_produto, quantidade, preco_unitario) VALUES (" & Session("codigo_pedido") & ", " & Request.QueryString("codigo_produto") & ", 1, 0)" End If num_itens_total = 1 RS_Pedido_Item.Close End If If Session("codigo_pedido") = "" Then Conexao.Close Set RS_Pedido_Item = Nothing Set Conexao = Nothing Call Checa_Sessao_Pedido() End If If Request.Form <> "" Then ' Chamada foi feita atraves do botao atualizar desta pagina ' Regrava todos os itens do pedido de acordo com os campos do formulario; ' Primeiro apaga tudo para regravar Conexao.Execute "DELETE FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido") ' Para cada campo do formulario, nome do campo é o código do produto a incluir ' e o valor do campo é a quantidade escolhida For Each nome_controle In Request.Form If Left(nome_controle,5) = "Quant" And Request.Form(nome_controle) <> "0" Then nome_controle_cod_prod=Mid(nome_controle,7,5) 'Pega os caracteres a partir do sexto. O Máximo de codigos é 99.999. comandoSQL = "INSERT INTO Pedido_Item (codigo_pedido, codigo_produto, quantidade, preco_unitario) VALUES (" comandoSQL = comandoSQL & Session("codigo_pedido") & ", " & nome_controle_cod_prod & ", " & Request.Form(nome_controle) & ", 0)" Conexao.Execute comandoSQL End If Next End If RS_Pedido_Item.Open "SELECT Pedido_Item.codigo_pedido, Pedido_Item.codigo_produto, Pedido_Item.quantidade, Produtos.nome_produto, Produtos.preco_unitario, Produtos.peso FROM Pedido_Item, Produtos WHERE codigo_pedido = " & Session("codigo_pedido") & " AND Pedido_Item.codigo_produto = Produtos.codigo_produto", Conexao subtotal = 0 ' Checa se carrinho possui algum item If Not RS_Pedido_Item.EOF Then %> <HTML><!-- #BeginTemplate "/Templates/neutros.dwt" --> <HEAD> <!-- #BeginEditable "doctitle" --> <TITLE>:::::::::: SPORTS ::::::::</TITLE> <!-- #EndEditable --> <STYLE type=text/css> BODY {SCROLLBAR-FACE-COLOR: #ffffff; SCROLLBAR-HIGHLIGHT-COLOR: #808080; SCROLLBAR-SHADOW-COLOR: #808080; SCROLLBAR-3DLIGHT-COLOR: #ffffff; SCROLLBAR-ARROW-COLOR: #808080; SCROLLBAR-TRACK-COLOR: #ffffff; SCROLLBAR-DARKSHADOW-COLOR: #ffffff} .politicas { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; color: #FF6633; text-decoration: none; font-style: normal} .forms { border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px} </STYLE> <META content="MSHTML 6.00.2712.300" name=GENERATOR> </HEAD> <BODY bgColor=#8796ad leftMargin=31 background="neutros/files/fundo.jpg" topMargin=0 onload="" marginheight="0" marginwidth="0"> <table width="718" border="0" cellspacing="0" cellpadding="0" align="left" height="100%" bgcolor="#ededed"> <tr valign="top"> <td height="0"> </td> </tr> <tr valign="top"> <td height="100%"> <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center" height="100%"> <tr> <td><!-- #BeginEditable "corpo" --> <center> </center> <table border=0 align="center" width="600"> <td> <font size="3"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Carrinho de Compras</font></b></font> <p align="LEFT"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Confirme suas compras. Clique em Calcular Frete, antes de escolher a forma de pagamento.</font></p> <form method="POST" action="carrinho.asp" name="carrinho"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="hidden" name="tipofrete" value="<%= Application("TipoFrete") %>"> </font> <table border="1" bordercolor=#C0C0C0> <tr> <td width="5%"> <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Cód</font></b> </font></div> </td> <td width="55%"> <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Nome do produto</font></b> </font></div> </td> <td width="15%"> <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Preço</font></b> </font></div> </td> <td width="10%"> <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Quant.</font></b> </font></div> </td> <td width="15%"> <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Total</font></b> </font></div> </td> <td width="10%"> <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color=#8796AD>Excluir?</font></b> </font></div> </td> </tr> <% ' Para cada registro na tabela Pedido_Item, mostra uma nova linha na tabela com ' codigo, descricao, preco, quantidade e total ' O trecho de HTML enviado fica conforme o exemplo: ' <tr> ' <td width="10%"> ' <div align="RIGHT"> ' 0193834 ' </div> ' </td> ' <td width="60%">Máquina fotográfica</td> ' <td width="10%"> ' <div align="RIGHT"> ' 55,00 ' </div> ' </td> ' <td width="10%"> ' <div align="RIGHT"> ' <input type="TEXT" name="textfield" size="2" maxlength="2" value="2"> ' </div> ' </td> ' <td width="10%"> ' <div align="RIGHT"> ' 110,00 ' </div> ' </td> ' </tr> message = "Produto Preco Unitario Quantidade Total<BR>===============================================================<BR>" RS_Pedido_Item.MoveFirst While Not RS_Pedido_Item.EOF %> <tr> <td width="5%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= RS_Pedido_Item("codigo_produto") %></font> </div> </td> <td width="55%"> <div align="LEFT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= RS_Pedido_Item("nome_produto") %></font> </div> </td> <td width="15%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(RS_Pedido_Item("preco_unitario")) %></font> </div> </td> <td width="10%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="TEXT" name="Quant_<%= RS_Pedido_Item("codigo_produto") %>" size="2" maxlength="2" value="<%= RS_Pedido_Item("quantidade") %>"> </font></div> </td> <td width="15%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preco_unitario"))%></font> </div> </td> <td width="10%" align="center"> <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="javascript:remover_produto('Quant_'+<%= RS_Pedido_Item("codigo_produto") %>)"><img src=images/excluir.gif border=0></a> </font></div> </td> </tr> <% subtotal = subtotal + CDbl(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preco_unitario")) peso_total = peso_total + CDbl(RS_Pedido_Item("quantidade") * RS_Pedido_Item("peso")) message = message &_ Left(RS_Pedido_Item("nome_produto") & Space(29), 29) &_ Right(Space(11) & FormatCurrency(RS_Pedido_Item("preco_unitario")), 11) &_ Right(Space(10) & RS_Pedido_Item("quantidade"),10) &_ Right(Space(13) & FormatCurrency(subtotal), 13) & chr(13) ' agora é o momento de atualizar o preco_unitario em pedidos_item - aqui guardamos o historico ' do preco. Se ele mudar no produto, preservamos o valor antigo no pedido. If Application("DBAccess") = 1 Then Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = cdbl('" & FormatNumber(RS_Pedido_Item("preco_unitario")) & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto") Else Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto") End If RS_Pedido_Item.MoveNext Wend ' mensagem a ser impressa no recibo do cartao VISA ( se for o caso do cartao ser escolhido ) message = message & Space(39) & "Subtotal " & Right(Space(11) & FormatCurrency(subtotal),11) & "<BR>" ' Agora grava e mostra o subtotal Session("subtotal") = CDbl(subtotal) Session("total") = CDbl(subtotal) Session("peso_total") = CDbl(peso_total) '********************************************************* '*** calcula frete segundo o metodo selecionado em GLOBAL.Asa If Request("cep1") <> "" And Request("cep2") <> "" Then Session("cep") = Request("cep1") & Request("cep2") End If Call Calcula_frete(Application("TipoFrete"), Session("cep")) If Application("DBAccess") = 1 Then Conexao.Execute "UPDATE Pedidos SET tipo_sedex = '" & Session("tipo_sedex") & "',subtotal = cdbl('" & FormatNumber(Session("subtotal")) & "'), taxa_envio = CDbl('" & FormatNumber(Session("taxa_envio")) & "'), total = CDbl('" & FormatNumber(Session("total")) & "') WHERE codigo_pedido = " & Session("codigo_pedido") Else Conexao.Execute "UPDATE Pedidos SET tipo_sedex = '" & Session("tipo_sedex") & "',subtotal = convert(float, '" & replace(Session("subtotal"), ",", ".") & "'), taxa_envio = convert(float, '" & replace(Session("taxa_envio"), ",", ".") & "'), total = convert(float, '" & replace(Session("total"),",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido") End If If Session("taxa_envio") <> 0 Then %> <tr> <td colspan="4"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Application("TipoFrete") = "SEDEX" Then %> Taxa de envio: <% Else %> Taxa de envio:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> </font></div> </td> <td width="15%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(Session("taxa_envio")) %></font> </div> </td> </tr> <% End If %> <tr> <td colspan="4"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Session("taxa_envio") <> 0 Then %> Total:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% Else %> Subtotal:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> </font></div> </td> <td width="15%"> <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><%= FormatCurrency(Session("total")) %></b></font> </div> </td> </tr> </table> <hr color=8796AD> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><% ' *** controles para o calculo do frete. No caso do SEDEX os CEPS. No caso ' *** do personalizado, Localidades. Call Mostra_frete(Application("TipoFrete"), Conexao) %> </font> </form> <hr color=8796AD> <p align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="javascript:atualizar_carrinho()"><img border=0 src="images/bot_atualizar.gif"></a> </font> <ul> <li> <center> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Para modificar a quantidade, altere o valor e clique ATUALIZAR COMPRAS</b> </font> </center> </li> </ul> <ul> <li> <center> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Para calcular o frete, se a loja o disponibilizar, selecione a modalidade e clique em CALCULAR FRETE</b> </font> </center> </li> </ul> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <script language="JavaScript"> <!--// function remover_produto(nome) { eval("document.carrinho."+nome+".value = 0"); // estamos zerando o carrinho. document.carrinho.submit (); } function atualizar_carrinho() { var resposta, Form; Form = document.carrinho; resposta = true; if (Form.tipofrete.value == "SEDEX" && (Form.cep1.value.length != 0 || Form.cep2.value.length != 0)) { resposta = valida_cep(); } if (resposta == true) document.carrinho.submit (); } function calcular_frete() { var resposta; resposta = valida_cep(); if (resposta == true) document.carrinho.submit (); } function mostra_calculo_frete() { var Form; Form = document.pagamento; janela = window.open('calculo_frete.asp?valor=' + Form.subtotal.value + '&frete=' + Form.taxa_envio.value + '&cepdestino=' + Form.cep.value + '&peso=' + Form.peso.value + '&tipo_sedex=' + Form.tipo_sedex.value,'promocao','width=600,height=250,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes') if (janela != null) { janela.location.href ='calculo_frete.asp?valor=' + Form.subtotal.value + '&frete=' + Form.taxa_envio.value + '&cepdestino=' + Form.cep.value + '&peso=' + Form.peso.value + '&tipo_sedex=' + Form.tipo_sedex.value } } function metodo_pagamento(nome) { var carteira, i, sel, num_pag, temp, metodo_pag, ssl, acao; num_pag = document.pagamento.num_pagamentos.value; if (document.pagamento.taxa_envio.value == 0 && !document.carrinho.frete_teste) { alert("Por favor, calcule a taxa de envio..."); } else { if (num_pag == "1") { temp = document.pagamento.tipo.value; acao = document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag; eval("document.pagamento.action='" + acao + "'"); document.pagamento.submit(); } else { for (i=0; i<num_pag; i++) { if (document.pagamento.tipo[i].checked == true) { //alert(document.pagamento.tipo[i].value); sel = i; break; } } temp = document.pagamento.tipo[sel].value; } // Ex CHEQUE0 // CHEQUE - Cheque Eletronico, 0 - sem SSL // VISA1 // VISA - VisaNet, 1 - com SSL // temp = document.pagamento.tipo[sel].value; metodo_pag = temp.substring(0,temp.length-1); if (metodo_pag == "AMERICAN" || metodo_pag == "REDECARD" || metodo_pag == "VISA") metodo_pag = "CARTAO"; ssl = temp.substring(temp.length-1,temp.length); if (ssl == "0") { acao = document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag; //eval("document.pagamento.action='" + document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag + "'"); } else { acao = document.pagamento.URL_Autentica_seguro.value + "?acao=login" + "&forma_pagamento=" + metodo_pag; //eval("document.pagamento.action='" + document.pagamento.URL_Autentica_seguro.value + "?acao=login" + "&forma_pagamento=CARTAO&cartao=" + document.pagamento.tipo[sel].value + "'"); } if (metodo_pag == "CARTAO") { acao = acao + "&cartao=" + temp.substring(0,temp.length-1); } eval("document.pagamento.action='" + acao + "'"); document.pagamento.submit(); } } function valida_cep() { Form = document.carrinho; if (Form.cep1.value.length == 0) { alert("Por favor digite um CEP !"); Form.cep1.focus(); return false; } if (Form.cep2.value.length == 0) { alert("Por favor digite um CEP !"); Form.cep2.focus(); return false; } s = limpa_string(Form.cep1.value); if (s.length != 5) { alert("O CEP deve ter caracteres numericos !"); Form.cep1.focus(); return false; } s = limpa_string(Form.cep2.value); if (s.length != 3) { alert("O CEP deve ter caracteres numericos !"); Form.cep2.focus(); return false; } return true; } function limpa_string(S){ // Deixa so' os digitos no numero var Digitos = "0123456789"; var temp = ""; var digito = ""; for (var i=0; i<S.length; i++){ digito = S.charAt(i); if (Digitos.indexOf(digito)>=0){temp=temp+digito} } return temp } //--> </script> </font> <hr color=8796AD> <center> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Selecione sua forma de pagamento:</b> </font> </center> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% ' Para chamar o Bradesco a URL é a seguinte: ' http://www.sualoja.com.br/autentica.asp?forma_pagamento=BRADESCO ' Para chamar o Boleto a URL é a seguinte: ' http://www.sualoja.com.br/autentica.asp?forma_pagamento=BOLETO ' Para chamar o Cartao a URL é a seguinte: ' https://sslx.locaweb.com.br/sualoja/autentica.asp?forma_pagamento=CARTAO %> </font> <form method="POST" name="pagamento"> <table border=0 align=center width="70%"> <% '*************************** cria aqui seleção dos meios de pagamento NumeroFormaPagamentos = CriaSelecaoPagamentos(Application("MeiosPagamentoSeguro")) %> <input type="hidden" name="num_pagamentos" value="<%= NumeroFormaPagamentos %>"> </table> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Application("TipoFrete") = "SEDEX" And Session("taxa_envio") = 0 And Session("cep") <> "" Then %> </font> <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>O CEP digitado não consta dos registros. Por favor, tente novamente ( talvez colocar "000" nos últimos 3 dígitos )</b></font></p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% ElseIf Application("TipoSedex") = "SEDEX" And Session("taxa_envio") = 0 And Session("cep") = "" Then %> </font> <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por favor digite o CEP e clique em Cálcular Frete.</font></p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> </font> <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="javascript:metodo_pagamento()"><img border=0 src="images/bot_pagar.gif"></a> <input type="HIDDEN" name="URL_Autentica" value="<%= Application("URL_Autentica") %>" > <input type="HIDDEN" name="URL_Autentica_seguro" value="<%= Application("URL_Autentica_seguro") %>" > <% 'passa parametros para a seção segura SSL a fim de recriar as variaveis de secao %> <input type="HIDDEN" name="codigo_pedido" value="<%= Session("codigo_pedido") %>" > <input type="HIDDEN" name="peso" value="<%= Session("peso_total") %>" > <input type="HIDDEN" name="tipo_sedex" value="<%= Session("tipo_sedex") %>" > <input type="HIDDEN" name="taxa_envio" value="<%= Session("taxa_envio") %>" > <input type="HIDDEN" name="message" value="<%= message %>" > <input type="HIDDEN" name="user_id" value="<%= Session("user_id") %>" > <input type="HIDDEN" name="subtotal" value="<%= Session("subtotal") %>" > <input type="HIDDEN" name="cookieID" value="<%= Session("cookieID") %>" > <input type="HIDDEN" name="cep" value="<%= Session("cep") %>" > </font> </form> <p align="CENTER"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="<%= Application("URL_Categorias") %>"><i>Voltar ao Catálogo dos Produtos</i></a></font></p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% RS_Pedido_Item.Close ' Caso o carrinho esteja vazio, redireciona para pagina de categorias Else RS_Pedido_Item.Close Conexao.Close Set RS_Pedido_Item = Nothing Set Conexao = Nothing Response.Redirect Application("URL_Categorias") Response.End End If Conexao.Close Set RS_Pedido_Item = Nothing Set Conexao = Nothing %> </font></td> </table> <!-- #EndEditable --></td> </tr> </table> </td> </tr> </table> </BODY><!-- #EndTemplate --></HTML>
#4
Posted 27/02/2003, 15:25
If Application("DBAccess") = 1 Then
Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = cdbl('" & FormatNumber(RS_Pedido_Item("preco_unitario")) & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
Else
Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
End If
Troque por esta e veja se resolve.
If Application("DBAccess") = 1 Then
Conexao.Execute "UPDATE Pedido_Item SET preco_unitario =" & cdbl(FormatNumber(RS_Pedido_Item("preco_unitario")))& "WHERE codigo_pedido=" & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
Else
Conexao.Execute "UPDATE Pedido_Item SET preco_unitario =" & convert(float, replace(RS_Pedido_Item("preco_unitario")))& "WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
End If
Nao consegui testar aqui, mas vi que vc deixou alguns comandos dentro das aspas do SQL isso gera erro tb.
veja se vai funcionar assim.
Qualquer coisa posta denovo
Valeu
Sem Imagens!
#5 fas
Posted 27/02/2003, 21:03
Ainda não mudei o codigo pois o erro parou de aparecer...por acaso tem algo lógico nisso ou é o calor, ou o carnaval?!?!?
Bem, guardei este código para, quando o erro aparecer novamente, eu substituí-lo...não com a preguiça de arrumar, mas de tentar captar em qual situação isso acontece...para depois passar para outros colegas a resolução final.
Valeu novamente!
#6
Posted 27/02/2003, 21:09
Estamos aqui para isso hehe , mas se de erro denovo e minha modificação nao der certo c posta aqui denovo blz!
Calor do carnacal hehe
Até mais
Sem Imagens!
#7 fas
Posted 05/03/2003, 10:52
Nessa mesma página de carrinho, tem como não limitar o peso em 30kg?
Meu site entregará geladeira, mas como pesa mais de 30 kg ele num permite a compra...e como o cliente num fez ainda nenhuma negociação com transportadora, vai calcular com a mesma tabela do sedex...
#8
Posted 05/03/2003, 11:35
Vc tem que ver tb se o seu calculo de frete suporta um peso amior que 30kg.
valeu
Sem Imagens!
#9 fas
Posted 05/03/2003, 21:38
Application("TipoFrete") = "SEDEX",
Na hora que compro um total superior a 30kg, aparece a seguinte frase: 'O limite maximo de peso para esta modalidade de servico e de 30 Kg" e em nenhum arquivo do sistema locaweb aparece esta frase para que eu possa encontrar o local onde posso mexer...
bem no código que postei mostra claramente que ele trabalha com session de peso:
Session("peso_total") = CDbl(peso_total)
Será que conseguimos alguma coisa?!?!?!
#10
Posted 05/03/2003, 23:17
Nisso fica a critério dos correios o peso total que eles podem enviar por sedex.
Tb vi que eles gravaram algumas coisas em Dlls ai nao tem como saber o que tem la. pois esta gravada no servidor da locaweb
Ai como nao entendo muito de xml fica meio difil de te ajudar.
Caso isso que eu falei esteja errado alguem me corrija pelo amor de Deus.
Sem Imagens!
#11
Posted 04/06/2007, 10:48
#12
Posted 04/06/2007, 15:38
Respondendo sua pergunta vc pode e deve usar o site dos correios, pois eles forncecem acesso remoto aos calculos usando XML bastando acessar uma URL especifica que eles mandam ... para se cadastrar veja aqui:
http://www.correios....omendas/precos/
Esse tópico é bem velhor (2003) esses usuários nem são mais tão frequentes do fórum sem contar se bobia esses códigos nem existem mais
Por favor evite ressusitar tópicos
cara esse calculo de frete q vc usa e atraves do site dos correios ou vc cadastrou no seu banco de dados????
#13
Posted 15/06/2007, 06:56
cara esse calculo de frete q vc usa e atraves do site dos correios ou vc cadastrou no seu banco de dados????
Cara baixa esse anexo que tu to colocando aqui que vai te ajudar...É um código que calcula direto dos sites dos correios!
Abraços
Attached Files
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)