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

Ver las diferencias entre conjuntos de datos para ver si ha habido cambios

Estas en el tema de Ver las diferencias entre conjuntos de datos para ver si ha habido cambios en el foro de ASP Clásico en Foros del Web. La cosa es que los datos de unas tablas de una base de datos, se presentan en formato excel. Me gustaría que el usuario pudiera ...
  #1 (permalink)  
Antiguo 05/06/2005, 21:38
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Ver las diferencias entre conjuntos de datos para ver si ha habido cambios

La cosa es que los datos de unas tablas de una base de datos, se presentan en formato excel. Me gustaría que el usuario pudiera modificar la hoja excel, después enviársela al servidor, y después que éste pudiera detectar qué cambios se han hecho para a continuación hacerlos efectivos.

Por ejemplo, que si de la tabla 1 se le pasa unos datos desde la hoja de excel, cómo hacer para comparar estos datos con los de la base de datos y detectar qué fila de qué columna (o qué registro de qué atributo) ha sido cambiado. Una vez visto esto, hacer un UPDATE apropiado con sentencias SQL (pero sólo afectando a la columna cambiada, porque me imagino que si lo hiciera con todas sin fijarme si ha sido cambiada o no podría sobrecargar el servidor).
  #2 (permalink)  
Antiguo 06/06/2005, 08:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues a menos que en la hoja excel, hagas una macro que detecte la coordenada específica donde se hizo el cambio (Update) o la fila que se agregó (Insert) o la fila que se eliminó (Delete), y también desde esa macro generaras una nueva hoja de datos con esas marcas y la leyeras desde algún SP o desde otro lenguaje intermedio entre Excel y BD..........pues no veo como.

Necesariamente necesitas generar esa tabla de marcas para saber que intrucción vas a ejecutar, de lo contrario no veo como puedas hacerlo sin comparar tooodos los campos/registros de la BD's, y ni así, por que eso no te serviría para detectar los registros borrados e incertados a menos que tangas una clave consecutiva.

Saludos
  #3 (permalink)  
Antiguo 07/06/2005, 08:06
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Claro... de entrada, debería poner el campo id (o la clave primaria) en la hoja de excel, y que no fuera modificable (o al menos, que el usuario supiese que no debe modificarlo).

No he entendido bien algunas de tus pegas. Yo podría coger la tabla de excel y meterla en un recordset de ASP, para después comparar este recordset con otro devuelto por una consulta a la base de datos (eso es lo que yo había pensado). Así, la cosa se reduciría a cómo comparar dos ristras de valores metidos en sendos objetos RecordSet (y podría detectarse valores borrados o insertados nuevos por la presencia o ausencia en el Recordset correspondiente a la hoja de excel).

Como última solución, se me ocurre no actualizar, sino cada vez que se use la hoja de excel para modificar o meter datos en la base de datos, las tablas de ésta se borren y se vuelvan a crear con los datos de la hoja de excel (algo bastante "peligroso" en potencia
  #4 (permalink)  
Antiguo 09/06/2005, 07:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
¿Entonces? ¿Hay o se os ocurre algún modo?
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 (incluyéndote)




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