Ir para conteúdo

Arquivado

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

Ulisses Arrais

Erro em de Insert em Carrinho

Recommended Posts

Bom dia amigos, estou travado nesse problema há alguns dias, pesquisei muito e não encontrei o problema.

 

Nesse carrinho, estava tudo ok, até que foi necessário incluir um novo campo na tabela Pedido.Item, o campo est_local.

 

Alimento esse campo via querystring e até o primeiro INSERT tudo funciona bem.

<%
Set rsPedidoItem = Server.CreateObject("ADODB.Recordset")
If Request.QueryString("id") <> "" Then
   rsPedidoItem.Open "SELECT * FROM Pedido_Item WHERE COD_Pedido = " & Session("codPed_est") & " AND COD_Produto = " & Request.QueryString("id"), Conexao
   If rsPedidoItem.EOF Then
      	  Conexao.Execute "INSERT INTO Pedido_Item (cod_Pedido, cod_Produto, qtd_Pedido, VRL_Unitario, est_local) SELECT " & Session("codPed_est") & " as cod_Pedido, cod_Produto, 1 as qtd_Pedido, VRL_Unitario, '" & Request.QueryString("lo")& "' FROM Produtos WHERE COD_Produto = " & Request.QueryString("id")
   End If
%>

O problema ocorre quando é necessário fazer o recalculo do valor, o codigo deleta da tabela os itens anteriores e vai buscar os dados do form para refazer o calculo

<%
If Request.Form <> "" Then
   Conexao.Execute "DELETE FROM Pedido_Item WHERE COD_Pedido = " & Session("codPed_est")
   Dim cont
   cont = 0
    For Each field_name In Request.Form
  	   If field_name <> "" And field_name <> "B1" And Request.Form(field_name) <> "0" And Trim(Request.Form(field_name)) <> "" Then
		  cont = cont + 1
strSQL = "INSERT INTO Pedido_Item (COD_Pedido, COD_Produto, QTD_Pedido, VRL_Unitario, est_local) SELECT "& Session("codPed_est") & ", " & field_name & ", " & Request.Form(field_name) & ", VRL_Unitario, '" & Request.Form("est_local_") & Cstr(cont) & "' FROM Produtos WHERE COD_Produto = " & field_name & " "
 conexao.execute strSQL
       End If
    Next
End If
%>

Se rodo a SQL no access, funciona, agora no navegador recebo a mensagem:

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e10'

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

 

Já tentei passar esse insert de varias formas, mas nenhuma deu certo! Agradeço qualquer informação.

 

Bom dia a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Luiz Henrique
      Olá,
       
      Preciso fazer uma inserção no DB de registros referente a pagamentos, quando for no crédito será realizado o insert com sua respectiva data de compensação e valor da parcela exemplo:
       3 parcelas de 100.00 e cada registro em seu devido mês:
      INSERT INTO tabela (valor, data) VALUES (100, 2022-08-17),(100, 2022-09-17),(100, 2022-10-17) É mais eficiente fazer da forma acima ou colocar 3 INSERT?
      Ou existe forma melhor de fazer isso?
       
      Obrigado.,
       
    • Por Carlos Antoliv
      Senhores, bom dia.
       
      tenho um campo status. Então, a ideia é mudar o status. Consigo alterar o status quando necessário. Daí, pensei em todas vez que alterar, salvar o id do usuário, data, hora, o último status alterado...
      consigo fazer isso com INSERT, depois do UPDATE.
       
      Nao uso trigger. Até tentei fazer, mas não saiu como eu queria.
       
      Então, para os maiores entendedores do assunto, a melhor prática seria a TRIGGER ou INSERT ? Melhor prática ou o que mais funciona na prática ?
       
      Alguém poderia dissertar sobre isso ?
      Vlw..abço
    • Por Carlos Antoliv
      Senhores, tudo bem?
       
      Tô numa dúvida aqui... tá matando.
      Estou tentando contar a quantidade de itens do carrinho de compras.
       
      Este aqui é o input que aparece a quantidade de itens:
      <td><input type="text" name="prod[<?php echo $result['id']?>]" value="<?php echo $qtdProd = $result['quantity']?>" size="1"  />                          </td>  
      Aparece normalmente a quantidade de itens. Ex: arroz   2  <<< este 2 fica dentro do input, onde posso alterá-lo.
      Minha ideia é mostrar na tela a quantidade total de itens que estão no carrinho.
       
      To usando esse código aqui pra aparecer o número total.... e até funciona:
       
                         <?php                                     if(isset($_SESSION['carrinho'])){                                     $amount = 0;                                     $count = 0;                                     $size = count($_SESSION['carrinho']);                                                                         foreach($_SESSION['carrinho'] as $data){                                     $count++;                                     $amount += $data['quantity'];                                     if($size == $count){                                     echo "TOTAL = $amount";                                     }                                 }                             }                                 ?>  
      O problema é que está exibindo o seguinte erro:
      Warning: Illegal string offset 'quantity' in C:\...\www\sistema\carrinho-de-compra\carrinho.php on line 90
       
      Erro na linha 90, no caso, neste linha aqui: 
          $amount += $data['quantity'];
       
      Daí travei um pouco.
       
      Alguém que poderia dar força ? Tá osso aqui.
      tmj
       
       
    • Por Sapinn
      Opa galera tudo beleza? Estou desenvolvendo um pequeno e-commerce de camisas. Enquanto fazia o carrinho de compras topei com um problema como posso mostrar os produtos no carrinho e como mostrar assim que for inserirdo um novo produto ? Fiz algumas buscas mas nenhuma me ajudou realmente. 
       
      Carrinho de compras:

       
      <!-- ==================================== CARRINHO DE COMPRAS =================================== -->     <div class="offcanvas offcanvas-end areaShoppingCart" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">       <div class="offcanvas-header">         <h4 class="offcanvas-title fw-bold" id="offcanvasNavbarLabel"><i class="bi bi-cart4"></i> Carrinho de Compras         </h4>         <button type="button" class="text-reset closeAreaShoppingCart" data-bs-dismiss="offcanvas" aria-label="Close"><i class="bi bi-x"></i></button>       </div>       <span data-bs-toggle="modal" data-bs-target="#leiaimportante" class="link_text">Leia Importante <i class="bi bi-info-circle"></i></span>       <hr />       <div class="offcanvas-body cart_body">     <!--     <div class="product_content">           <div class="trash_icon"><a href="#" class="link_text"><i class='bx bx-trash ' title="Excluir do carrinho"></i></a></div>           <a href="" class="container_card_product">             <div class="d-flex">               <div class="cart_img_product">                 <img src="../assets/images/camisas/257139328_126851229744515_2923407250030929456_n.webp.jpg" alt="">               </div>               <div class="cart_info_product">                 <div class="cart_name_product">Camisa do Paris San-German Branca</div>                 <div class="cart_price_product">Preço: 120,00</div>               </div>             </div>           </a>           <hr />         </div> -->       </div>     </div>  
      JS:
      let cartShirt = []; let btn = document.querySelector(".btnShoppingCart"); let idShirt = btn.getAttribute('data-product-id') let nameShirt = document.querySelector(".name_shirt").innerText; let priceShirt = document.querySelector(".price_shirt").innerText; let symbol_shirt = document.querySelector(".symbol_shirt").getAttribute('src'); let urlShirt = window.location.href; let infoShirts = {    "id": idShirt,    "name": nameShirt,    "price": priceShirt,    "img": symbol_shirt,    "url": urlShirt, } jsonShirt = JSON.stringify(infoShirts); let productsInCart = JSON.stringify(localStorage.getItem("futprime_cart")); btn.addEventListener('click', () => {    if (productsInCart == '') {       cartShirt.push(jsonShirt);       localStorage.setItem('futprime_cart', cartShirt)    }else{       let obj = productsInCart.concat(jsonShirt);       cartShirt.push(obj.replace(/[\\"]/g, ''))       /* console.log(cartShirt); */       localStorage.setItem('futprime_cart', cartShirt);       /* console.log(localStorage.getItem('futprime_cart')); */    }    insertInCartHTML(); }); console.log(localStorage.getItem('futprime_cart')); /* localStorage.clear(); */ function insertInCartHTML(){     }  
    • Por aluizs100
      Olá.

      Estou tentando localizar um código para conectar um banco de dados access utilizando o Visual Studio 12, porém só encontrei a com conexão direta via programa e eu queria fazer esta conexão via código.

      alguém poderia me auxiliar em enviando esta rotina ou me indicando o local onde encontro.


      Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.