jucacabala Postado Março 24, 2005 Denunciar Share Postado Março 24, 2005 como faço um update em varios registros no banco?tenho uma pagina com um loop para listar os registros do BDcada registro possui um list/menu com a opção sim/nãoo usuario pode mudar esta opção e ao clicar no botao "alterar" esses dados são alterados no BDconsegui fazer update para alterar apenas um registro, mas para alterar varios na esta dando certoalguém tem uma dica de como posso fazer?meu form é este: <form name="cadastro" method="post" action="atualiza_acesso.asp"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" class="arial_textosObs">Listagem de clientes em débito:</td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td> </tr> <tr class="arial_verde"> <td>Código</td> <td>CNPJ</td> <td>Razão Social </td> <td>Cidade</td> <td>Acesso</td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td> </tr> <% Do While Not rs.Eof If bgColor = "#EEF8F9" Then bgColor = "#F3F3F3" Else bgColor = "#EEF8F9" End If %> <tr class="arial_textos" bgcolor="<%=bgColor%>"> <td><% = rs.Fields("codigo") %></td> <td><% = rs.Fields("cnpj") %></td> <td><% = rs.Fields("razao") %></td> <td><% = rs.Fields("cidade") %></td> <td><select name="tipo" class="box02" id="tipo"> <option <%if rs("tipo") = "0" then %> selected <%end if%> value="0">sim</option> <option <%if rs("tipo") = "1" then %> selected <%end if%> value="1">não</option> </select></td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td> </tr> <% rs.movenext loop set rs = nothing %> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td> </tr> <tr align="center"> <td colspan="5"><input name="imageField" type="image" src="../imagens/bt_alterar.gif" width="117" height="25" border="0"></td> </tr> </table> </form> Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Andre - Postado Março 24, 2005 Denunciar Share Postado Março 24, 2005 vamos lá:imaginemos que serão 4 registros então faremos:Na pagina de origem coloque um input hidden chamado id com os ids dos registrosid1=valorid2=valorid3=valor....select1=valor.....etc<%dim variavel(4)dim id(4)for i = 1 to 4 variavel(i) = Request("select"&(i)) id(i)=Request("id"&(i)) sql = "update tabela set campo='"&variavel(i)&"' where id = " & id(i) Conn.Execute(sql)next%>um loop resolve o seu problema, pois o script é excutado um só vez, com o loop será repetido a atualizaçãoqualquer dúvida aguardo retorno!!!!! Link para o comentário Compartilhar em outros sites More sharing options...
0 jucacabala Postado Março 28, 2005 Autor Denunciar Share Postado Março 28, 2005 ola andreeste for i = 1 to 4 refere-se ao numero de registros a serem alterados?porque se for vai dar problemaporque eu não sei o numero de registros que irao ter na pagina, isso sera dinamicovaleu a ajuda Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - André - Postado Março 28, 2005 Denunciar Share Postado Março 28, 2005 Sem problemas.atribua un valor dinâmico entaum para for:for i = 1 to Request.QueryString.Count /ou Request.form.Countvariavel(i) = Request("select"&(i))id(i)=Request("id"&(i)) if not variavel(i)="" then sql = "update tabela set campo='"&variavel(i)&"' where id = " & id(i) Conn.Execute(sql) end ifnext Link para o comentário Compartilhar em outros sites More sharing options...
0 jucacabala Postado Março 28, 2005 Autor Denunciar Share Postado Março 28, 2005 de certo, ficou assim: <!-- #include file="../conexao.inc" --> <% DIM conexaodb, str, rs, codAltera codAltera = Request.QueryString("codl") str = "SELECT * From usuarios " str = str & "WHERE tipo = " & codAltera call abreconexao Set rs = conexaodb.Execute(str) If Request.Form("acao") = "enviar" Then For Each fld In request.form If InStr(1, fld, "tipo") > 0 Then id = Split(fld, ".") str = "UPDATE usuarios SET " str = str & "tipo = " & request(fld) & " Where id = " & id(1) conexaodb.execute(str) End If Next response.redirect "atualiza_listacliente.asp" End If %> <html> <head> <link href="../estilos.css" rel="stylesheet" type="text/css"> <title>::.. J&W Tecnologia de Trânsito ..::</title> <style type="text/css"> <!-- body { margin-left: 0px; margin-right: 0px; margin-bottom: 0px; margin-top: 0px; } --> </style> </head> <body> <table width="780" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="5"><!--#include file="topo2.asp" --></td> </tr> <tr bgcolor="#0265BD"> <td colspan="5"> </td> </tr> <% if Session("logado")="" then Response.Redirect"login.asp" End if %> <tr bgcolor="#0265BD"> <td width="15" rowspan="3" bgcolor="#0265BD"> </td> <td width="690" bgcolor="#E5E5E5" class="arial_cinza"> Painel de Controle: Clientes </td> <td width="50" align="right" bgcolor="#E5E5E5" class="arial_cinza"><a href="javascript:window.history.go(-1);" id="link01"><< voltar</a></td> <td width="10" bgcolor="#E5E5E5" class="arial_cinza"> </td> <td width="15" rowspan="3" bgcolor="#0265BD"> </td> </tr> <tr bgcolor="#0265BD"> <td colspan="3"><img src="../imagens/spacer.gif" width="10" height="3"></td> </tr> <tr bgcolor="#0265BD"> <td colspan="3" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td> <form name="frm" method="post" action="lista_clientes.asp?codl=<%=codAltera%>"> <input type="hidden" name="acao" value="enviar"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" class="arial_textosObs">Listagem de clientes <strong>sem</strong> débito:</td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td> </tr> <tr class="arial_verde"> <td>Código</td> <td>CNPJ</td> <td>Razão Social </td> <td>Cidade</td> <td>Acesso</td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td> </tr> <% Do While Not rs.Eof If bgColor = "#EEF8F9" Then bgColor = "#F3F3F3" Else bgColor = "#EEF8F9" End If %> <tr class="arial_textos" bgcolor="<%=bgColor%>"> <td><% = rs.Fields("codigo") %></td> <td><% = rs.Fields("cnpj") %></td> <td><% = rs.Fields("razao") %></td> <td><% = rs.Fields("cidade") %></td> <td><select name="tipo.<% = rs.Fields("id") %>" class="box02" id="tipo.<% = rs.Fields("id") %>"> <option <%if rs("tipo") = "0" then %> selected <%end if%> value="0">sim</option> <option <%if rs("tipo") = "1" then %> selected <%end if%> value="1">não</option> </select></td> </tr> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="5"></td> </tr> <% rs.movenext loop set rs = nothing %> <tr> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="10"></td> </tr> <tr align="center"> <td colspan="5"><input type="image" src="../imagens/bt_alterar.gif" width="117" height="25" border="0"></td> </tr> </table> </form> </td> </tr> </table></td> </tr> <tr bgcolor="#0265BD"> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="15"></td> </tr> <tr bgcolor="#1B3855"> <td colspan="5"><img src="../imagens/spacer.gif" width="10" height="8"></td> </tr> </table> </body> </html> <%call fechaconexao%> valeu pela ajudapode fechar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jucacabala
como faço um update em varios registros no banco?
tenho uma pagina com um loop para listar os registros do BD
cada registro possui um list/menu com a opção sim/não
o usuario pode mudar esta opção e ao clicar no botao "alterar" esses dados são alterados no BD
consegui fazer update para alterar apenas um registro, mas para alterar varios na esta dando certo
alguém tem uma dica de como posso fazer?
meu form é este:
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados