Estou apelando para este post porque já fiquei mais de 9 horas lendo, pesquisando e tentando montar um UPDATE MySQL em ASP para múltiplos registros com três campos cada. O mais perto que cheguei (pelo dúvidas frequentes do fórum) foi através do código abaixo.
Bom, eu tenho uma tabela "fotos" com os campos: id, titulo e sessao. Tenho duas páginas ASP: uma com o formulário que contém a tabela com todos os registros listados e outra que faz o update no MySQL a partir dos dados deste formulário.
1) fotos_listar.asp
<form name="formulario" method="post" action="fotos_editar.asp"> <% While Not RS.EOF ...%> (...) <input name="titulo_<%=(RSgaleria.Fields.Item("id").Value)%>" type="text" value="<%=(RSgaleria.Fields.Item("titulo").Value)%>" /> <input name="sessao_<%=(RSgaleria.Fields.Item("id").Value)%>" type="text" value="<%=(RSgaleria.Fields.Item("sessao").Value)%>" /> <input name="botao" type="submit" value="Atualizar todos os dados!" /> (...) <% Whend ...%> </form>
Obs: Na página acima ela me retorna perfeitamente uma tabela aparecendo todos os registros listados com seus respectivos campos (até aí tudo bem!). O problema está na próxima página! (acredito eu)
2) fotos_editar.asp
<!--#include file="inc_conexao.asp" --> <% Dim i For i = 1 to Request.Form.Count SQL1 = "SELECT * FROM fotos WHERE id= " &i Set RSfotos = conexao.Execute(SQL1) titulo = Int(Request("titulo"&i)) sessao = Int(Request("sessao"&i)) id = i SQL2 = "UPDATE fotos SET titulo = '"&titulo&"', sessao = '"&sessao&"' " &_ " WHERE id = " & id conexao.Execute SQL2 Next conexao.close Set RSfotos = Nothing Response.Redirect("update_ok.asp") %>
Obs: O UPDATE é realizado, porém com todos os valores em zero. Ou seja, é feito o update mas todos os registros e todos os campos ficam com o valor "0" inserido. Bom, isso foi o mais perto que "acho" ter chegado!
No mais agradeço a atenção!
=]