Ir para conteúdo

POWERED BY:

Arquivado

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

rcdesign

Loja Virtual

Recommended Posts

O problema é o seguinte....Quando clico em fechar pedido dá o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Número de valores da consulta e campos de destino não coincidem. /idc/fecharpedido.inc, line 57

Alguém sabe o que é isso??Por via das dúvidas mando o código... se alguém achar o erro eu agradeço imensamente :o

<table border=0 width=100%><tr width=100%><td width=100% valign=top><h2>Registrar Pedido</h2></td></tr><tr width=100%><td width=100% valign=top><!--#include file="msgprecompra.inc"--></td></tr><tr width=100%><%Dim log,usuario,senha,chk_usuario,temp,arrTemp,lista_pedidlog = Request.QueryString("log")usuario = Request.Form("usuario")senha = Request.Form("senha")If (log = "chk") Then set chk_usuario = lojaDB.Execute("SELECT * FROM clientes WHERE usuario='"& usuario &"' AND senha='"& senha & "'") If chk_usuario.EOF Then   %>  <td width=100%><font color=red>Login Inválido</font></td></tr><tr width=100%>  <%  log = "in"  usuario = ""  senha = "" Else  temp = 0  Dim cl_id  While not chk_usuario.EOF  temp = temp + 1          cl_id = chk_usuario("id")        chk_usuario.MoveNext   Wend  If temp=1 Then  If IsEmpty(Session("car_prod_id")) Then     %>    <td width=100%><font color=red><h4>Carrinho Vazio</h4></font></td></tr><tr width=100%>    <td width=100%>Por favor, selecione os produtos que deseja comprar antes de fechar o pedido</td></tr>    <%   Else    'Login OK, gravando pedido    Dim ped_id,ped_data_ped,ped_status,ped_user_id,ped_prod_id,ped_prod_referencia,ped_prod_preco,ped_prod_quant    set lista_pedid = lojaDB.Execute("SELECT * FROM pedidos ORDER BY ped_id DESC")    If lista_pedid.EOF Then    ped_id = 1    Else     ped_id = lista_pedid("ped_id") + 1    End If    ped_data_ped = Now    ped_status = 0     ped_user_id = cl_id      'Lendo informações do pedido    Dim ped_prod_atual,ped_grava,loop1          For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id"))             arrTemp = Split(Session("car_prod_id")(loop1),"&")    ped_prod_id = arrTemp(1)    set ped_prod_atual = lojaDB.Execute("SELECT * FROM produtos WHERE id="& ped_prod_id &" AND disp='S'")    ped_prod_preco = ped_prod_atual("preco")    arrTemp = Split(Session("car_prod_id")(loop1),"&")    ped_prod_quant = arrTemp(2)                        'Grava Pedido      lojaDB.Execute("INSERT INTO pedidos(ped_id,data_ped,status,user_id,prod_id,prod_referencia,prod_preco,prod_quant) values("& ped_id & ",'" & ped_data_ped & "'," & ped_status & "," & ped_user_id & "," & ped_prod_id & ",'" & ped_prod_referencia & "'," & ped_prod_preco & "," & ped_prod_quant & ")")    Next    Session.Abandon    %>    <tr width=100%>    <td width=100%><h3>Pedido Cadastrado com Sucesso</h3></td>    </tr><tr width=100%>    <td width=100%><h4>Todos produtos do Carrinho de Compras foram removidos.</h4></td>    </tr><tr width=100%><td><h4>O número do seu pedido é <i><%=ped_id%></i></h4></td>    </tr><tr width=100%><td>    <!--#include file="msgpedfechado.inc"-->    </td>    <%    log = "nao"  End If  'Mais de um usuário com o mesmo nome  Else   %>  <td width=100%><font color=red>Problemas no processamento do Login</font><br>  Por favor, entre em contato conosco.  </td></tr><tr width=100%>  <%  log = "in"  usuario = ""  senha = ""    End If End IfEnd IfSelect Case log Case "in" %> <td width=100%>Entre com seu nome de usuário e senha para concluir a compra.</td> </tr><tr align=100%><td><form action="fecharpedido.asp?log=chk" method=post>    <table border=1 width=1px>          <tr width=100%>             <td>Usuário:</td>            <td>              <input type=text maxlength=12 size=12 name=usuario>            </td>              </tr>          <tr width=100%>             <td>Senha..:</td>            <td>              <input type=password maxlength=8 size=8 name=senha>            </td>          </tr>          <tr>             <td></td>          </tr>          <tr>            <td colspan=3>               <div align="center">                <input type=image src="./images/logentra.gif" border=0 name="image">              </div>            </td>          </tr>          <tr>             <td colspan=3>Se você não é cadastrado na loja clique <a href="./cadastro.asp?fecharpedido=sim">aqui</a>.</td>          </tr>        </table> </form> </td> <% Case "nao" %> <% Case Else %> <script>window.location='./carrocompras.asp'</script><%End Select %></tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

RCDesign,

Verifica todas as variáveis, talvez você esteja perdendo algum valor.

O erro significa que você tem campos a mais ou a menos que valores, mas pelo que pude contar são 8 campos e 8 variáveis, então o erro pode estar em uma variável vazia, creio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é.... eu realmente pensei nesta possibilidade mas não consegui achar aonde está o erro...Principalmente porque na página anterior que é o carrinho de compras ele puxa as informações do pedido atual e mostra tudo certinho.Então o programa para fechar o pedido chama a session do pedido atual para ler as informações..... se a session do pedido atual está correta... porquê ele não grava e dá este erro?Voltando a analisar o script encontrei a seguinte variável na leitura do pedido: ped_grava - não achei aonde esta variável está sendo usada...(??)Também achei que seria necessário incluir outra instrução nesta leitura que seria: ped_prod_referencia = ped_prod_atual("referencia") - da mesma forma que a leitura do preço...Mas mesmo assim o erro continua o mesmo..

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.