smez Postado Janeiro 23, 2006 Denunciar Share Postado Janeiro 23, 2006 <% Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open "DBQ=c:\Inetpub\mcgames\db\mcgames2.mdb;Driver={Microsoft Access Driver (*.mdb)}" '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 If Session("codigo_pedido") = "" Then 'Pequisa o codigo de pedido mais alto existente Set RS_Max = Server.CreateObject("ADODB.Recordset") 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 = 1 Else novo_codigo_pedido = RS_Max("max_codigo_pedido") + 1 End If RS_Max.Close 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 End If Set RS_Pedido_Item = Server.CreateObject("ADODB.Recordset") If Request.QueryString("codigo_produto") <> "" Then RS_Pedido_Item.Open "SELECT * FROM Pedido_Item WHERE codigo_pedido = "& session("codigo_pedido") & " AND id = " & Request.QueryString("id"), Conexao If RS_Pedido_Item.EOF Then Conexao.Execute "INSERT INTO Pedido_Item (codigo_pedido, id, quantidade) VALUES (" & Session("codigo_pedido") & ", " & Request.QueryString("id") & ", 1)" End If RS_Pedido_Item.Close End If If Request.Form <> "" Then Conexao.Execute "DELETE FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido") For Each field_name In Request.Form If field_mane <> "B1" And Request.Form(field_name) <> "0" Then comandoSQL = "INSERT INTO Pedido_Item (codigo_pedido, id, quantidade) VALUES (" comandoSQL = comandoSQL & Session("codigo_pedido") & ", " & field_name & ", " & Request.Form(field_name) & ")" Conexao.Execute comandoSQL End If Next 'If filed_name <> "B1" And Request.Form(field_name) <= "0" Then ' Response.Redirect ("vazio.asp") 'End If End If %> <table border="0" width="100%" cellspacing="1"> <tr> <td width="100%" bgcolor="#FFA800"><b><font size="5" face="Verdana" color="#FFFFFF"> Carrinho de Compras</font></b></td> </tr> <tr> <td width="100%"> </center> <form method="POST" action="carrocompras.asp" name> <table border="0" width="100%" cellspacing="1"> <tr> <td width="16%"><font size="2" face="Verdana"><b>Foto</b></font></td> <td width="37%"><font size="2" face="Verdana"><b>Produto</b></font></td> <td width="15%"><font size="2" face="Verdana"><b>Preço</b></font></td> <td width="11%"><font size="2" face="Verdana"><b>Quant.</b></font></td> <td width="21%"><font size="2" face="Verdana"><b>Total</b></font></td> </tr> <% LINHA 335 RS_Pedido_Item.Open "SELECT Pedido_Item.*, Produtos.nome, Produto.preço, Produtos.peso, Produtos.img FROM Pedido_Item, Produtos WHERE codigo_pedido = " & Session("codigo_pedido") & " AND Pedido_Item.id=Produtos.id", Conexao 'Se não houverem produtos na cesta,exibe mensagem If RS_Pedido_Item.EOF = true then Response.write ("Não há produtos em sua cesta.") If not RS_Pedido_Item.EOF then RS_Pedido_Item.MoveFirst subtotal = 0 peso_total = 0 While not RS_Pedido_Item.EOF %> <tr> <td width="16%" bgcolor="#F5F5F5"><img src="produtos/<%= RS_Pedido_Item("img")%>"></td> <td width="37%" bgcolor="#F5F5F5"><%= RS_Pedido_Item("nome")%></td> <td width="15%" bgcolor="#F5F5F5"><%= FormatCurrency(RS_Pedido_Item("preço"))%></td> <td width="11%" bgcolor="#F5F5F5"> </table> </table> </table> <dd align="center"><small><input type="TEXT" name="<%= RS_Pedido_Item("id")%>" size="2" maxlength="2" value="<%= RS_Pedido_Item("quantidade") %>"></small></dd> </div> </center></td> <td width="21%" bgcolor="#F5F5F5"><%= FormatCurrency(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preço"))%></td> </tr> <% 'Calcula subtotal e peso total subtotal = subtotal + RS_Pedido_Item("quantidade") * RS_Pedido_Item("preço") peso_total = peso_total + RS_Pedido_Item("quantidade") * RS_Pedido_Item("peso") RS_Pedido_Item.MoveNext Wend RS_Pedido_Item.Close %> <tr> <td width="16%"></td> <td width="37%"></td> <td width="15%"></td> <td width="11%" bgcolor="#E5E5E5"><font face="Verdana" size="1">Subtotal:</font></td> <td width="21%" bgcolor="#E5E5E5"><%= FormatCurrency(subtotal) %></td> </tr> </table><input type="submit" value="Recalcular" name="B1"> </form> </div> <table>O CODIGO E ESSE MAS DA O SEGUINTE ERROTipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1./mc/carrocompras.asp, line 335 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Janeiro 23, 2006 Denunciar Share Postado Janeiro 23, 2006 Confira se os nomes estão coincidentes com os da tabela Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 smez Postado Janeiro 23, 2006 Autor Denunciar Share Postado Janeiro 23, 2006 sim, os nomes estão igual a da tabela Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Janeiro 23, 2006 Denunciar Share Postado Janeiro 23, 2006 Manda imprimir a consulta, para conferir se todos os valores estão sendo resgatados Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
smez
<%
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "DBQ=c:\Inetpub\mcgames\db\mcgames2.mdb;Driver={Microsoft Access Driver (*.mdb)}"
'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
If Session("codigo_pedido") = "" Then
'Pequisa o codigo de pedido mais alto existente
Set RS_Max = Server.CreateObject("ADODB.Recordset")
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 = 1
Else
novo_codigo_pedido = RS_Max("max_codigo_pedido") + 1
End If
RS_Max.Close
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
End If
Set RS_Pedido_Item = Server.CreateObject("ADODB.Recordset")
If Request.QueryString("codigo_produto") <> "" Then
RS_Pedido_Item.Open "SELECT * FROM Pedido_Item WHERE codigo_pedido = "& session("codigo_pedido") & " AND id = " & Request.QueryString("id"), Conexao
If RS_Pedido_Item.EOF Then
Conexao.Execute "INSERT INTO Pedido_Item (codigo_pedido, id, quantidade) VALUES (" & Session("codigo_pedido") & ", " & Request.QueryString("id") & ", 1)"
End If
RS_Pedido_Item.Close
End If
If Request.Form <> "" Then
Conexao.Execute "DELETE FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido")
For Each field_name In Request.Form
If field_mane <> "B1" And Request.Form(field_name) <> "0" Then
comandoSQL = "INSERT INTO Pedido_Item (codigo_pedido, id, quantidade) VALUES ("
comandoSQL = comandoSQL & Session("codigo_pedido") & ", " & field_name & ", " & Request.Form(field_name) & ")"
Conexao.Execute comandoSQL
End If
Next
'If filed_name <> "B1" And Request.Form(field_name) <= "0" Then
' Response.Redirect ("vazio.asp")
'End If
End If
%>
<table border="0" width="100%" cellspacing="1">
<tr>
<td width="100%" bgcolor="#FFA800"><b><font size="5" face="Verdana" color="#FFFFFF"> Carrinho
de Compras</font></b></td>
</tr>
<tr>
<td width="100%">
</center>
<form method="POST" action="carrocompras.asp" name>
<table border="0" width="100%" cellspacing="1">
<tr>
<td width="16%"><font size="2" face="Verdana"><b>Foto</b></font></td>
<td width="37%"><font size="2" face="Verdana"><b>Produto</b></font></td>
<td width="15%"><font size="2" face="Verdana"><b>Preço</b></font></td>
<td width="11%"><font size="2" face="Verdana"><b>Quant.</b></font></td>
<td width="21%"><font size="2" face="Verdana"><b>Total</b></font></td>
</tr>
<%
LINHA 335
RS_Pedido_Item.Open "SELECT Pedido_Item.*, Produtos.nome, Produto.preço, Produtos.peso, Produtos.img FROM Pedido_Item, Produtos WHERE codigo_pedido = " & Session("codigo_pedido") & " AND Pedido_Item.id=Produtos.id", Conexao
'Se não houverem produtos na cesta,exibe mensagem
If RS_Pedido_Item.EOF = true then Response.write ("Não há produtos em sua cesta.")
If not RS_Pedido_Item.EOF then RS_Pedido_Item.MoveFirst
subtotal = 0
peso_total = 0
While not RS_Pedido_Item.EOF
%>
<tr>
<td width="16%" bgcolor="#F5F5F5"><img src="produtos/<%= RS_Pedido_Item("img")%>"></td>
<td width="37%" bgcolor="#F5F5F5"><%= RS_Pedido_Item("nome")%></td>
<td width="15%" bgcolor="#F5F5F5"><%= FormatCurrency(RS_Pedido_Item("preço"))%></td>
<td width="11%" bgcolor="#F5F5F5">
</table>
</table>
</table>
<dd align="center"><small><input type="TEXT" name="<%= RS_Pedido_Item("id")%>" size="2" maxlength="2" value="<%= RS_Pedido_Item("quantidade") %>"></small></dd>
</div>
</center></td>
<td width="21%" bgcolor="#F5F5F5"><%= FormatCurrency(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preço"))%></td>
</tr>
<%
'Calcula subtotal e peso total
subtotal = subtotal + RS_Pedido_Item("quantidade") * RS_Pedido_Item("preço")
peso_total = peso_total + RS_Pedido_Item("quantidade") * RS_Pedido_Item("peso")
RS_Pedido_Item.MoveNext
Wend
RS_Pedido_Item.Close
%>
<tr>
<td width="16%"></td>
<td width="37%"></td>
<td width="15%"></td>
<td width="11%" bgcolor="#E5E5E5"><font face="Verdana" size="1">Subtotal:</font></td>
<td width="21%" bgcolor="#E5E5E5"><%= FormatCurrency(subtotal) %></td>
</tr>
</table><input type="submit" value="Recalcular" name="B1">
</form>
</div>
<table>
O CODIGO E ESSE MAS DA O SEGUINTE ERRO
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.