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

Insertar múltiples registros a la vez

Estas en el tema de Insertar múltiples registros a la vez en el foro de ASP Clásico en Foros del Web. Hola! os comento...estoy haciendo una aplicación en asp que su función básica es realizar unas reservas de espacios (de unas salas), para un determinado día ...
  #1 (permalink)  
Antiguo 18/03/2010, 11:37
 
Fecha de Ingreso: mayo-2005
Mensajes: 10
Antigüedad: 19 años, 10 meses
Puntos: 0
Insertar múltiples registros a la vez

Hola! os comento...estoy haciendo una aplicación en asp que su función básica es realizar unas reservas de espacios (de unas salas), para un determinado día y hora, a parte de otros detalles (tipo de uso que se le dará, etc.).

En principio, no había ningún problema, ya que las salas se reservaban para un solo día, pero ahora, tengo que hacer lo siguiente:

En el formulario, ahora hay los siguiente campos:
· Tipo de día (un desplegable, solo se puede marcar una opción: Lunes, martes, miércoles, jueves, etc.). Aquí le envío el valor numérico del día (1 si es domingo, 2 si es lunes, 3 si es martes, etc.)
· Primer día de la reserva (por ejemplo, si es jueves, pues seria 18/03/2010)
· Meses (checkbox para poder marcar varios a la vez, aquí el valor que envío también es numérico para cada mes: 1 enero, 2 febrero, etc.)

De lo que se trataría es que se podría poder marcar un tipo de día (jueves por ejemplo), y unos meses (abril, mayo, junio, julio, agosto, por ejemplo), y que al añadir, en lugar de añadir un solo registro como hasta ahora, que se añadieran automáticamente tantos registros como "jueves" haya en los meses de abril, mayo, junio, julio, agosto, en este caso, partiendo desde el primer día de la reserva (aunque de este último punto se podría llegar a prescindir, y que directamente marcase todos los "jueves" de todos los meses marcados sin indicar ningún "primer día de la reserva").

He probado varias cosas...pero creo que fallo en el planteamiento, es decir, no se como plantear la página que me guarda los registros en la base para que se guarde correctamente... a parte que no se si existe alguna función en asp que me facilite toda esta tarea...

Saludos!
  #2 (permalink)  
Antiguo 18/03/2010, 11:47
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Insertar múltiples registros a la vez

Resumen:

¿Ocupas recorrer de una fecha a otra fecha y marcar todos los días Jueves (por ejemplo) que se encuentren en ese periodo?

(Por marcar entendamos a Insertarlo en alguna tabla)

Es correcto?
  #3 (permalink)  
Antiguo 18/03/2010, 11:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 10
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Insertar múltiples registros a la vez

Exacto, seria eso Myakire.

Es decir, por cada "jueves" que hubiera en los meses de abril, mayo, junio, julio y agosto (o cualquier otro período introducido) introducir un registro en la base con los datos rellenados previamente en el formulario (lo único diferente de cada registro seria la fecha, que si fuera jueves, pues seria, por ejemplo: 01/04/2010 en un registro, 08/04/2010 en otro, 15/04/2010 en el siguiente, y así sucesivamente.
  #4 (permalink)  
Antiguo 18/03/2010, 14:29
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Insertar múltiples registros a la vez

ok, esta fácil, solo debes de tener un ciclo de una fecha a la otra, esto lo harías con un while y mediante funciones de fecha incrementar de a día en día y verificar cuando llegues al que tu deseas, pues ahí ejecutar un command con el insert.

Ahorita no tengo chance de hacerte un ejemplo en ASP, pero te dejo un en SQL Server, funciona para el jueves y la lógica sería la misma:

Código SQL:
Ver original
  1. DECLARE @FechaIni datetime,
  2.         @FechaFin datetime,
  3.         @FechaActual datetime,
  4.         @FechaDia datetime,
  5.         @NumDia INT
  6. SET @FechaIni = '01/01/2010'
  7. SET @FechaFin = GETDATE()
  8. SET @FechaActual = @FechaIni
  9. SET @NumDia = 0
  10. WHILE @FechaActual < @FechaFin
  11. BEGIN
  12.     SELECT @FechaDia = DATEADD(wk, DATEDIFF(wk,0,@FechaActual), 3)    --Cambiar el 3 por el índice del día que se desee
  13.     IF @FechaDia > @FechaIni
  14.     BEGIN
  15.        SET @NumDia = @NumDia + 1
  16.        PRINT CAST(@NumDia AS VARCHAR) + ') '+ CAST(@FechaDia AS VARCHAR) --Aquí iría el insert
  17.     END
  18.     SELECT @FechaActual = DATEADD(Week, 1, @FechaActual)
  19. END
  #5 (permalink)  
Antiguo 19/03/2010, 03:03
 
Fecha de Ingreso: mayo-2005
Mensajes: 10
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Insertar múltiples registros a la vez

Muchas gracias Myakire, probaré de hacerlo así a ver que tal!

Saludos!

Etiquetas: 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 22:04.