Alberto Mota Postado Agosto 3, 2012 Denunciar Share Postado Agosto 3, 2012 Prezados colegas, estou tentando atualizar vários produtosnum form mas não estou conseguindo. Pesqusei muito na web enada funcionou. O banco de dados é o sql server.Estou usando as seguintes paginas1-<form method="post" action="atualizaproduto.asp"><%j=0while not produtos.eof%><table width="750" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="30"><input type="hidden" name="codp<%=j%>" value="<%=produtos("codp")%>" /></td> <td width="30"><input name="precocusto<%=j%>" type="text" value="<%=produtos("ref")%>" size="5" /></td> <td width="310"><input name="txtdescr" type="text" value="<%=produtos("descrproduto")%>" size="50" /></td> <td width="185"><input name="precocusto<%=j%>" type="text" value="<%=produtos("P")%>" size="5" /></td> <td width="185"><input type="checkbox" name="checado" value="<%=produtos("codp")%>"></td> </tr></table><%j=j+1produtos.movenextwend%><input type="hidden" name="conta" value="<%=j%>"><input type="Submit" value="Alterar"></form>==============================================2- atualizaprodutos.asp (resumo)<%contador = 1while contador < request.form("conta")-1sql = "update tblprodutos set "sql = sql & "precocusto =" & request.form("precocusto"&contador)sql = sql & " where codp =" & request.form("codp"&contador)set atualiza = conntemp.execute(sql)contador=contador+1wend%>surge o seguinte erro: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'[Microsoft][ODBC SQL Server Driver][sql Server]Incorrect syntax near '1'./atualizaproduto.asp, line 25onde a linha 25 éset atualiza = conntemp.execute(sql)Desde já, obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Agosto 3, 2012 Denunciar Share Postado Agosto 3, 2012 da uma melhorada no seu código e vai dand debug<% contador = 1 conta=request.form("conta") while contador < conta-1 preço=request.form("precocusto"&contador) codigo=request.form("codp"&contador) if preço>0 and codigo>0 then sql = "update tblprodutos set precocusto ="&preço&" where codp="&codigo response.write sql&"<br>" conntemp.execute(sql) end if contador=contador+1 wend %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Alberto Mota Postado Agosto 4, 2012 Autor Denunciar Share Postado Agosto 4, 2012 Bareta, valeu pela atenção.Adaptei seu script e consegui adaptar.Ficou perfeito.Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alberto Mota
Prezados colegas, estou tentando atualizar vários produtos
num form mas não estou conseguindo. Pesqusei muito na web e
nada funcionou. O banco de dados é o sql server.
Estou usando as seguintes paginas
1-
<form method="post" action="atualizaproduto.asp">
<%
j=0
while not produtos.eof
%>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30"><input type="hidden" name="codp<%=j%>" value="<%=produtos("codp")%>" /></td>
<td width="30"><input name="precocusto<%=j%>" type="text" value="<%=produtos("ref")%>" size="5" /></td>
<td width="310"><input name="txtdescr" type="text" value="<%=produtos("descrproduto")%>" size="50" /></td>
<td width="185"><input name="precocusto<%=j%>" type="text" value="<%=produtos("P")%>" size="5" /></td>
<td width="185"><input type="checkbox" name="checado" value="<%=produtos("codp")%>"></td>
</tr>
</table>
<%
j=j+1
produtos.movenext
wend
%>
<input type="hidden" name="conta" value="<%=j%>">
<input type="Submit" value="Alterar">
</form>
==============================================
2- atualizaprodutos.asp (resumo)
<%
contador = 1
while contador < request.form("conta")-1
sql = "update tblprodutos set "
sql = sql & "precocusto =" & request.form("precocusto"&contador)
sql = sql & " where codp =" & request.form("codp"&contador)
set atualiza = conntemp.execute(sql)
contador=contador+1
wend
%>
surge o seguinte erro:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][sql Server]Incorrect syntax near '1'.
/atualizaproduto.asp, line 25
onde a linha 25 é
set atualiza = conntemp.execute(sql)
Desde já, obrigado.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados