Foros del Web » Programando para Internet » ASP Clásico »

actualizar multiples registros

Estas en el tema de actualizar multiples registros en el foro de ASP Clásico en Foros del Web. hola tengo una tabla id | nombre1 | nombre2 | nombre3 | precio1 | precio2 con varios registros lo que no se es como actualizar ...
  #1 (permalink)  
Antiguo 19/08/2010, 16:09
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
actualizar multiples registros

hola tengo una tabla

id | nombre1 | nombre2 | nombre3 | precio1 | precio2


con varios registros
lo que no se es como actualizar todos estos registros a la vez

el id no es correlativo ya que hay registros entremedio que se han borrado

gracias de antemano
  #2 (permalink)  
Antiguo 19/08/2010, 16:32
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 9 meses
Puntos: 41
Respuesta: actualizar multiples registros

¿Tu puedes escribir en 2 campos a la vez con el teclado? primero 1 y luego en el otro...
segun tengo entendido, y si no que me corrijan, el acceso a base de datos es secuencial, es decir de 1 en 1, creo que no existe forma de actualizar de golpe todo... en todo caso accedes a 1 registros actualizas y pasas al siguiente inmediatamente...

Si expones un ejemplo de lo que quieres hacer quizas lo veamos mejor
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #3 (permalink)  
Antiguo 19/08/2010, 16:56
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
Respuesta: actualizar multiples registros

ejemplo

id | nombre1 | nombre2 | nombre3 | precio1 | precio2

1 abc cde fgh 10.0 12
3 tfr rgf edf 15 16

entonces si quiero modificar el registro 1 y3 (o los que haga falta)

con datos nuevos


yo he pensado hacer un for con lo que me traiga el formulario pero lo tengo que probar!!!
  #4 (permalink)  
Antiguo 19/08/2010, 17:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: actualizar multiples registros

Hola

El punto estaría, aunque no me hagas mucho caso que estoy ya casi que dormido, en insertar en array las id de los registros que quieres actualizar y los valores con los que los vas a actualizar.
Cita:
for each campo in Request.Form
valCampos = valCampos & Request.Form(campo)
Next
division = Split(valCampos, ",")
Después montas un ciclo
Cita:
for i = 0 to totalregistros
sql = "insert into ...... "
next
PD: Todos los campos del formulario han de tener el mismo nombre
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 20/08/2010, 11:31
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
Respuesta: actualizar multiples registros

uf no se como solucionar el tema

tengo esto

Código:
<form action="tarifes_admin.asp?accio=edita" method="post">
                                <ul id="llista_tarifes">
                                <li id="titols">
                                &nbsp;&nbsp;<span id="titol_cat">catala</span><span id="titol_esp">español</span><span id="titol_eng">anglès</span><span id="titol_fra">francès</span>
                                </li>
                                <li id="conceptes"><span class="titol_concepte">Concepte</span> <span class="titol_preu">Preu Temporada Alta</span><span class="titol_preu">Preu Temporada Baixa</span>
                                <%do while not rs_tarifes.eof
                                    'contador_oferta = contador_oferta+1
                                    id = rs_tarifes("id")
                                    concepte_cat = rs_tarifes("concepte_cat")
                                    concepte_esp = rs_tarifes("concepte_esp")
                                    concepte_eng = rs_tarifes("concepte_eng")
                                    concepte_fra = rs_tarifes("concepte_fra")
                                    preu_alta = rs_tarifes("preu_alta")
                                    preu_baixa = rs_tarifes("preu_baixa")
                                    
                                
                                %>
                                  <li> 
                                    <%=id%> -<input name="id_edit<%=id%>" type="hidden" id="id_edit<%=id%>" value="<%=id%>" /><span class="concepte_cat"><input name="concepte_cat<%=id%>" type="text" id="concepte_cat<%=id%>" value="<%=concepte_cat%>" size="35" /></span><span class="concepte_esp"><input name="concepte_esp<%=id%>" type="text" id="concepte_esp<%=id%>" value="<%=concepte_esp%>" size="35" /></span><span class="concepte_eng"><input name="concepte_eng<%=id%>" type="text" id="concepte_eng<%=id%>" value="<%=concepte_eng%>" size="35" /></span><span class="concepte_fra"><input name="concepte_fra<%=id%>" type="text" id="concepte_fra<%=id%>" value="<%=concepte_fra%>" size="35" /></span><input class="preu_alta" name="preu_alta<%=id%>" type="text" id="preu_alta<%=id%>" value="<%=preu_alta%>" /><input class="preu_baixa" name="preu_baixa<%=id%>" type="text" id="preu_baixa<%=id%>" value="<%=preu_baixa%>" />&nbsp;&nbsp;&nbsp;<a href="tarifes_admin.asp?accio=borra&id_borra=<%=id%>">Borra</a>                               
                                    
                                    </li>
                                <% rs_tarifes.movenext
                                loop
                                %>
                                <li><input type="submit" value="       Guarda         " /> </li>
                                </ul>
                                </form>
y despues lo pinto asi

Código:
<%for each v_entrada in request.form
for indice=1 to request.form(v_entrada).count
response.write v_entrada&"="&request.form(v_entrada)(indice)&"<br>"
next
next%>
que me sale esto

Código HTML:
ESI PANEL © - CÀMPING VILADEMÀGER - USUARI:joan #llista_tarifes li{ 	list-style-type: none;	 }  #titols{ 	margin-bottom:15px; 		 	 } #titol_cat,#titol_esp, #titol_eng, #titol_fra{ 	margin-right:50px; 	border:#0F0 solid 1px; 	 } #titol_cat{ 	margin-left:50px; 	 }  #conceptes{ 	margin-bottom:15px; 	 } .titol_concepte{ 	margin-left:18px; 	margin-right:76px; 	font-weight:bold; 	 	 }  .titol_preu{ 	margin-left:30px; 	 	font-weight:bold; 	 }  .preu_alta{ 	margin-left:25px; 	 } .preu_baixa{ 	margin-left:25px; 	 }  /* per afegir registre */ #afegir_registre{ 	border:#999 solid 1px; 	background-color:#FF9; 	padding:25px; 	width:770px; 	position:relative; }  #amagar_afegir_registre{ 	text-align:right; 	float:right; 	width:150px; 	position:absolute; 	 	top:3px; 	left: 580px; } id_edit5=5
concepte_cat5=aaa
concepte_esp5=bbb
concepte_eng5=ccc
concepte_fra5=ddd
concepte_cat9=hola  cat
concepte_esp9=hola esp
concepte_eng9=hola ang
concepte_fra9=hola  fra
preu_alta5=eee
preu_alta9=80
preu_baixa5=fff
id_edit9=9
preu_baixa9=90
pero no se como hacer que me actalize cada registro por que el "id_edit" es el id del registro a actualizar

  #6 (permalink)  
Antiguo 20/08/2010, 12:24
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: actualizar multiples registros

Hola

Prueba con este ejemplo para que entiendas como ha de funcionar
Código HTML:
Ver original
  1. </head>
  2. <form action="tarifes_admin.asp?accio=edita" method="post">
  3. <table border="1px">
  4. <tr>
  5. <td>Noticia</td>
  6. <td>Mes</td>
  7. <td>Fecha / Hora</td>
  8. <td>Actualizada (Fecha /Hora)</td>
  9. <tr></tr>
  10. <td><textarea id="txtarea1" name="cam_form" tabindex="1"></textarea></td>
  11. <td><input type="text" id="txt1" name="cam_form" value="" tabindex="2" /></td>
  12. <td><input type="text" id="txt11" name="cam_form" value="" tabindex="3" /></td>
  13. <td><input type="text" id="txt111" name="cam_form" value="" tabindex="4" /></td>
  14. <tr></tr>
  15. <td><textarea id="txtarea2" name="cam_form" tabindex="5"></textarea></td>
  16. <td><input type="text" id="txt2" name="cam_form" value="" tabindex="6" /></td>
  17. <td><input type="text" id="txt22" name="cam_form" value="" tabindex="7" /></td>
  18. <td><input type="text" id="txt222" name="cam_form" value="" tabindex="8" /></td>
  19. <tr></tr>
  20. <td><textarea id="txtarea3" name="cam_form" tabindex="9"></textarea></td>
  21. <td><input type="text" id="txt3" name="cam_form" value="" tabindex="10" /></td>
  22. <td><input type="text" id="txt33" name="cam_form" value="" tabindex="11" /></td>
  23. <td><input type="text" id="txt333" name="cam_form" value="" tabindex="12" /></td>
  24. <tr></tr>
  25. <td><textarea id="txtarea4" name="cam_form" tabindex="13"></textarea></td>
  26. <td><input type="text" id="txt4" name="cam_form" value="" tabindex="14" /></td>
  27. <td><input type="text" id="txt44" name="cam_form" value="" tabindex="15" /></td>
  28. <td><input type="text" id="txt444" name="cam_form" value="" tabindex="16" /></td>
  29. <tr></tr>
  30. <td colspan="4">
  31. <input type="submit"  value="Enviar" />
  32. </td>
  33. <tr>
  34. </form>
  35. </body>
  36. </html>
tarifes_admin.asp
Código ASP:
Ver original
  1. <&#37;
  2. Dim Arr() ' Valores de todos los campos recibidos
  3. For each campo in Request.Form
  4. valCampos = valCampos & Request.Form(campo)
  5. Next
  6.  
  7. division = Split(valCampos, ",")
  8.  
  9. for i = 0 to UBound(division)
  10. Redim preserve Arr(i+1)
  11. Arr(i) = Trim(division(i))
  12. next
  13.  
  14. Dim Arr2() ' Valores del primer campo de cada tr
  15. Dim Arr3() ' Valores del segundo campo de cada tr
  16. Dim Arr4() ' Valores del tercer campo de cada tr
  17. Dim Arr5() ' Valores del cuarto campo de cada tr
  18.  
  19. j = 0
  20. for i = 0 to ubound(Arr)-1 step 4
  21. if Arr(i) <> "" then
  22. Redim preserve Arr2(j)
  23. Arr2(j) = Arr(i)
  24. j = j +1
  25. end if
  26. next
  27.  
  28. x = 0
  29. for i = 1 to ubound(Arr)-1 step 4
  30. if Arr(i) <> "" then
  31. Redim preserve Arr3(x)
  32. Arr3(x) = Arr(i)
  33. x = x +1
  34. end if
  35. next
  36.  
  37.  
  38. p = 0
  39. for i = 2 to ubound(Arr)-1 step 4
  40. if Arr(i) <> "" then
  41. Redim preserve Arr4(p)
  42. Arr4(p) = Arr(i)
  43. p = p +1
  44. end if
  45. next
  46.  
  47. z = 0
  48. for i = 3 to ubound(Arr)-1 step 4
  49. if Arr(i) <> "" then
  50. Redim preserve Arr5(z)
  51. Arr5(z) = Arr(i)
  52. z = z +1
  53. end if
  54. next
  55.  
  56. 'conexión bd
  57.  
  58. for i = 0 to j-1
  59. SQL="UPDATE tabla SET camp1='"&Arr2(i)&"', camp2='"&Arr3(i)&"', camp3='"&Arr4(i)&"' WHERE camp4 ='"&Arr5(i)&"'"
  60. oConn.Execute(SQL)
  61. next 'i
  62.  
  63. oConn.Close
  64. set oConn = nothing
  65.  
  66. Response.Write("Todo acabó bien")
  67. %>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: multiples, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:10.