Ir para conteúdo

POWERED BY:

Arquivado

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

Rspina

Erro ao inserir registro

Recommended Posts

Olá pessoal.Seguinte, não estou conseguindo inserir os campos tamanho e cor no banco. Tamanho esta sendo inserido como "0"

<%'checar se o produto é válidonProductId = Trim(Request.Form("prodid"))tamanho = Trim(Request.Form("tamanho"))if tamanho = "" then tamanho = 0end ifbValid = TrueSession.LCID = 1046Set objConn = Server.CreateObject("ADODB.Connection")strConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados/riobranco.mdb")objConn.Open strConnection'query do fretev_frete = request.form("frete")strFrete = "SELECT * FROM Frete"set objFrete = objConn.Execute(strfrete)If "" = nProductId Or Not IsNumeric(nProductId) Then bValid = FalseElse Set objRS = Server.CreateObject("ADODB.Recordset") Set objMAXRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objConn Set objMAXRS.ActiveConnection = objConn strQ = "SELECT ProdutoID, NomeProd, Preco FROM Produto WHERE ProdutoID=" & nProductId & "" objRS.Open strQ If objRS.EOF And objRS.BOF Then bValid = False Else avarProduct = objRS.GetRows( ) End If If Session("pedidoid") = "" Then 'gera o novo codigo pro pedido strMAXRS = "SELECT MAX(pedidoid) AS max_pedidoid FROM Pedido" objMAXRS.Open strMAXRS If IsNull(objMAXRS("max_pedidoid")) Then novo_pedidoid = 1 Else novo_pedidoid = objMAXRS("max_pedidoid") + 1 End If 'insere o codido do pedido objConn.Execute "INSERT INTO Pedido (pedidoid) VALUES (" & novo_pedidoid & ")" 'grava session do pedido Session("pedidoid") = novo_pedidoid End If 'objConn.Close 'Set objRS = Nothing 'Set objConn = Nothing End If'adicionar ou criar o carrinhoSet XMLDoc = Server.CreateObject("Microsoft.XMLDOM")If Not IsEmpty(Session("BagItems")) Then XMLDoc.loadXML CStr(Session("BagItems")) Set BagItems = XMLDoc.documentElementElse Set BagItems = XMLDoc.createElement("BagItems") Set XMLDoc.documentElement = BagItemsEnd If'se o produtos estiver ok, adicionar ao carrinhoIf bValid Then 'primeiro checar se o produto já está no carrinho Set nodeFind = BagItems.selectNodes("produto[@produtoid="" & nProductId & "&quot]") If Not nodeFind.length > 0 Then Set produtos = XMLDoc.createElement("produto") Set attr = XMLDoc.createAttribute("produtoid") attr.Text = avarProduct(0,0) produtos.attributes.setNamedItem(attr) Set attr = XMLDoc.createAttribute("nomeprod") attr.Text = Server.HTMLEncode(avarProduct(1,0)) produtos.attributes.setNamedItem(attr) Set attr = XMLDoc.createAttribute("preco") attr.Text = Server.HTMLEncode(avarProduct(2,0)) produtos.attributes.setNamedItem(attr) produtos.text = "1" BagItems.appendChild(produtos) End IfEnd If'Session("BagItems") = BagItems.XML'Response.Write "<?xml version = ""1.0""?>"'Response.Write BagItems.XMLSub PrintBag(BagItems) Response.Write "<form method=""post"" action=""" Response.Write Request.ServerVariables("SCRIPT_NAME") & """>" Response.Write "<table width=""100%""><tr><th class=titulotd width=""15%"">Unidades</th><th class=titulotd width=""25%"">" Response.Write "Produtos</th><th class=titulotd width=""25%"">Preço Unitário</th><th class=titulotd width=""25%"">Preço</th>" Response.Write "</tr>" & vbCrLf For Each item In BagItems.childNodes Response.Write "<tr><td><input type=""text"" name=""Qty" Response.Write item.attributes.getNamedItem("produtoid").text Response.Write """ value=""" & item.text & """ size=""3"" style=""font-size: 10px; font-family: verdana;"">" Response.Write "</td><td class=text>" & item.attributes.getNamedItem("nomeprod").text Response.Write "</td>" nUnitPrice = item.attributes.getNamedItem("preco").text nSubTotal = item.text * nUnitPrice nTotal = nTotal + nSubTotal vn_total = nTotal + v_frete Response.Write "<td class=text style=""text-align:center;"" >" & fu_formatavalor(nUnitPrice) & "</td>" Response.Write "<td align=""center"" class=text style=""text-align:center;""><b>" & fu_formatavalor(nSubTotal) & "</b></td>" Response.Write "</tr>" & vbCRLF Next Response.Write "<tr><td colspan=4><hr noshade width=""100%"" size=""1""></td></tr>" Response.Write "<tr><td colspan=3 class=text><b>Frete: "%> <!--#include file="i_get_select_frete.asp"--> <% if v_frete <> "0" then Response.Write "<td align=center class=text><b>" Response.Write fu_formatavalor(v_frete) Response.Write "</b></td>" end if Response.Write "</b></td></tr>" Response.Write "<tr><td colspan=2></td><td align=center class=valor>Total:</td>" Response.Write "<td align=center class=valor>" & fu_formatavalor(vn_total) & "</td></tr>" & vbCrLf Response.Write "<tr><td colspan=5 align=""right"">" Response.Write "<input type=submit name=""DO"" value=""Continuar Comprando"" class=titulotd > " Response.Write "<input type=submit name=""DO"" value=""Recalcular"" class=titulotd > " Response.Write "<input type=submit name=""DO"" value=""Finalizar Compra"" class=titulotd>" Response.Write "</td></tr></table></form>"End SubSub RecalcBag (BagItems) For Each Item in BagItems.childNodes nQty = Trim(Request.Form("Qty" & item.attributes.getNamedItem("produtoid").text)) If "" <> nQty And IsNumeric(nQty) Then If nQty < 1 Then BagItems.removeChild item Else item.text = nQty End If End If NextEnd SubSub LimpaCarrinho (BagItems) BagItems.removeChild itemEnd SubSub GravaBanco (BagItems) For Each Item in BagItems.childNodes nQty = Trim(Request.Form("Qty" & item.attributes.getNamedItem("produtoid").text)) If "" <> nQty And IsNumeric(nQty) Then If nQty < 1 Then BagItems.removeChild item Else Set objRS_PedidoItem = Server.CreateObject("ADODB.Recordset") item.text = nQty cd_prod = item.attributes.getNamedItem("produtoid").text precounit = item.attributes.getNamedItem("preco").text 'senao esta no pedido, item é incluido na tabela PedidoItem objRS_PedidoItem.Open "SELECT pedidoid FROM PedidoItem WHERE pedidoid = " & Session("pedidoid") & " AND produtoid = " & cd_prod, objConn If objRS_PedidoItem.EOF Then objConn.Execute "INSERT INTO PedidoItem (pedidoid, produtoid, quantidade, precounit, tamanho) VALUES (" & Session("pedidoid") & ", " & cd_prod & ", " & nQty & ", '" & precounit & "', '" & tamanho & "')" End If End If End If NextEnd Sub%><%Function LoadXMLBag() Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM") If Not IsEmpty(Session("BagItems")) Then XMLDoc.loadXML CStr(Session("BagItems")) Set BagItems = XMLDoc.documentElement Else Set BagItems = XMLDoc.createElement("BagItems") Set XMLDoc.documentElement = BagItems End If Set LoadXML = BagItemsEnd Function%><% 'Response.Buffer = True %><%'adicionar ou criar carrinho'Set BagItems = LoadXMLBag()'adicionar ou modificar produtosIf Request.ServerVariables("CONTENT_LENGTH") > 0 Then Select Case Trim(Request.Form("DO")) Case "Continuar Comprando" Response.Redirect "default.asp" Response.End Case "Recalcular" RecalcBag BagItems Case "Finalizar Compra" GravaBanco BagItems 'manda p/ o login Response.Redirect "login.asp" End SelectElse 'produtos a serem adicionados pela querystring nProductId = Trim(Request.QueryString("IdProd"))End IfSession("BagItems") = BagItems.XMLIf BagItems.hasChildNodes Then PrintBag BagItemsElse Response.Write "<span class=text><b><font color=red>Desculpe, você não tem nenhum item em seu carrinho !!!</font></b></span>" objConn.Execute = "DELETE * FROM pedido WHERE pedidoid = " & Session("pedidoid") Session.AbandonEnd If%>

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

URGENTE!!!, por favor não utilize esse tipo de titulo para os Tópicos. Utilize de preferência algo que descreva seu problema.

 

E outra, qual o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não esta inserindo no banco de dados os itens "tamanho" e "cor". No campo tamanho é inserido "0". E no campo cor nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se os nomes dos campos do FORM estão digitados corretamente e se são realmente passados via "FORM" e não "QueryString". Pois aparentemente as vars não estão recebendo seus valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho mesmovoce ja tentou imprimir sua sql na tela pra ver se tá correto o valor??

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.