Foros del Web » Programando para Internet » ASPX (.net) »

Guardar información de un usuario en varias tablas

Estas en el tema de Guardar información de un usuario en varias tablas en el foro de ASPX (.net) en Foros del Web. Hola, estoy desarrollando un formulario en .NET para dar de alta usuarios; la información de los usuarios está en varias tablas y se guarda en ...
  #1 (permalink)  
Antiguo 17/11/2012, 11:36
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 2 meses
Puntos: 0
Guardar información de un usuario en varias tablas

Hola,
estoy desarrollando un formulario en .NET para dar de alta usuarios; la información de los usuarios está en varias tablas y se guarda en todas las tablas en cuanto el usuario hace click en el botón Guardar.
Basicamente lo que hago es guardar primero en la tabla principal donde hay un ID autoincremental, después busco el ultimo ID insertado en esa tabla que se corresponde con el usuario que acaba de darle al boton de guardar y usando ese ID guardo el resto de la información en el resto de tablas relacionadas.

Supongo que esta no es la mejor forma de hacer las cosas, ya que si 1000 usuarios están registrándose en la aplicación al mismo tiempo quizás el valor que devuelva la función de recuperar el último usuario insertado sea incorrecto ya que hay varios usuarios haciendo un insert al mismo tiempo.

Como solucionais este tipo de problemas o cual es la manera correcta? Guardar la información del usuario en varias tablas relacionadas mediante un ID y que se pueda dar el caso de que muchos usuarios realicen esta misma acción simultánemante.

Gracias!
  #2 (permalink)  
Antiguo 17/11/2012, 12:32
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Guardar información de un usuario en varias tablas

Si estas recuperando le ULTIMO insertado, puedes hacer que el procedimiento que inserta te retorne el id que se asigno en ese momento, como como esto


Código SQL:
Ver original
  1. INSERT INTO tabla (CAMPOS) VALUES (los valores)
  2.  
  3. SET @VARIABLE_DE_SALIDA= SCOPE_IDENTITY()

Y listo, asi obtienes el ID del registro insertado y te curas en saludos del error que puede ocasionar el consultar el ultimo

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 18/11/2012, 12:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Guardar información de un usuario en varias tablas

Cita:
Iniciado por jhonwilliams Ver Mensaje
Si estas recuperando le ULTIMO insertado, puedes hacer que el procedimiento que inserta te retorne el id que se asigno en ese momento, como como esto


Código SQL:
Ver original
  1. INSERT INTO tabla (CAMPOS) VALUES (los valores)
  2.  
  3. SET @VARIABLE_DE_SALIDA= SCOPE_IDENTITY()

Y listo, asi obtienes el ID del registro insertado y te curas en saludos del error que puede ocasionar el consultar el ultimo

Saludos
Y con Last_Inser_ID? Qué opinas?
  #4 (permalink)  
Antiguo 18/11/2012, 14:20
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Guardar información de un usuario en varias tablas

Cita:
Iniciado por riestra Ver Mensaje
Y con Last_Inser_ID? Qué opinas?
Ese no lo conosco ni lo e usado
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 03/01/2013, 11:59
Avatar de GORI0056  
Fecha de Ingreso: julio-2009
Mensajes: 38
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Guardar información de un usuario en varias tablas

Y si creas una variable de sesion, que adjudique una numeracion al entrar el usuario en tu aplicacion web??,..

Etiquetas: net, tablas, usuarios
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 10:55.