Cómo actualizar una relación de uno a muchos de una CheckBoxList, ListBox, etc?

StackOverflow https://stackoverflow.com/questions/2723241

  •  01-10-2019
  •  | 
  •  

Pregunta

Dadas 2 tablas:

persona

PersonsFavoriteColors

Una persona puede tener uno o más colores favoritos. Estos colores son actualizados con un control de selección múltiple (CheckBoxList, ListBox w / selección múltiple activado).

En el pasado, si estoy actualizando los colores de la persona, me gustaría:

  1. Inicio Transacción
  2. Eliminar todos los registros de color para la persona
  3. Insertar registros para cada color seleccionado
  4. confirmar la transacción

Es este el estándar y las mejores prácticas para el manejo de múltiples controles de selección que añadir / actualizar / eliminar en los registros de tablas secundarias "a muchos"?

Gracias!

¿Fue útil?

Solución

Yo normalmente no eliminar todos los colores anteriores, sino más bien sólo los que eran más largos no hay favoritos y entonces sólo había añadir los que realmente eran nuevos.

Otros consejos

Si usted no está encerrado en dos tablas, una forma relativamente sencilla de almacenar los valores de la forma en que has descrito es utilizar una matriz como el tipo de datos de los colores preferidos en lugar de una tabla separada.

http://www.postgresql.org/docs/8.0/interactive /arrays.html

Si esto es una opción aceptable, sus instrucciones de actualización serían simplemente:

  1. Inicio Transacción
  2. actualización de fila
  3. confirmar la transacción
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top