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

¿Cómo hago para actualizar varios registros a la vez?...

Estas en el tema de ¿Cómo hago para actualizar varios registros a la vez?... en el foro de ASP Clásico en Foros del Web. Saludos amigos del foro, espero esten todos bien. Tengo una consulta sql en una página asp, el cual desde la misma realizo dicha consulta. Busco ...
  #1 (permalink)  
Antiguo 14/01/2008, 20:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta ¿Cómo hago para actualizar varios registros a la vez?...

Saludos amigos del foro, espero esten todos bien. Tengo una consulta sql en una página asp, el cual desde la misma realizo dicha consulta. Busco los detalles que pertenecen a un recibo de ingreso, es decir, tengo una tabla recibo_ingreso y detalle_recibo_ingreso, donde busco los detalles que pertenecen a un recibo. La pregunta es: ¿Cómo hago para actualizar varios registros a la vez? Me imagino que con un FOR, sabiendo cuantos registros me trae la consulta. Esta es la consulta que utilizo para buscar los detalles del recibo:

VarEstatuDetalle = 0

ssql = "select * from detalle_recibo_ingreso where estatu_detalle_recibo_i=" & VarEstatuDetalle & " and temp_codigo_recibo_i=" & VarNoRecibo & ""
Set con = Server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("bdsiop.mdb")
set rs = con.Execute(sSQL)

if (not rs.eof) then
response.write("Encontrado el detalle")
end if
con.close
Set rs=Nothing
Set con=Nothing

Y esta es mi consulta para realizar un update para un solo registro. Necesito actualizar el Id de la tabla detalle_recibo_ingreso de x registros encontrados, para relacionar los detalles al recibo.


set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("bdsiop.mdb")
set rs = server.CreateObject("ADODB.Recordset")
sql="UPDATE detalle_recibo_ingreso SET id_recibo_ingreso=" & VarIdReciboIngreso & ", estatu_detalle_recibo_i=" & VarEstatuDetalle1 & " WHERE temp_codigo_recibo_i=" & VarNoRecibo & ""

rs.open sql,con,1,2

con.close


P/D: Espero me hayan entendido.
  #2 (permalink)  
Antiguo 15/01/2008, 06:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: ¿Cómo hago para actualizar varios registros a la vez?...

¿Por qué primero hace un select y después un update?. Con la clausula where del update selecionas los registros que quieres actualuzar

set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("bdsiop.mdb")
set rs = server.CreateObject("ADODB.Recordset")
sql="UPDATE detalle_recibo_ingreso SET id_recibo_ingreso=" & VarIdReciboIngreso & ", estatu_detalle_recibo_i=" & VarEstatuDetalle1 & " WHERE temp_codigo_recibo_i=" & VarNoRecibo & " and estatu_detalle_recibo_i=" & VarEstatuDetalle & ""

rs.open sql,con,1,2

con.close

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;" />
  #3 (permalink)  
Antiguo 16/01/2008, 11:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Re: ¿Cómo hago para actualizar varios registros a la vez?...

Gracias Adler... La sentencia update funcionó perfectamente. Respecto a tu pregunta, realizo un select antes del update para saber cuales son los detalles del recibo, pues en mi aplicación, le doy la opcion al usuario de agregar los detalles que desee sin relacionarlos a la tabla recibo_ingreso y luego con el select busco los detalles que pertenescan a ese recibo, una vez encontrados, actualizo el id y relaciono las tablas detalle_recibo_ingreso con recibo_ingreso.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:22.