Visual Basic.NET - Aplicaciones en red multiusuario

 
Vista:

Aplicaciones en red multiusuario

Publicado por Javier (18 intervenciones) el 20/06/2006 08:36:30
Hola, me gustaría saber si alguien se ha encontrado con el problema de tener una aplicación en red, con varios usuarios metiendo y sacando datos, y al trabajar con dataset que parte de la BD se queda en memoria, puede darse el caso de que se le asigne a dos nuevos registros el mismo código llave. ¿Sabéis alguna forma de solucionar o evitar estos casos?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Aplicaciones en red multiusuario

Publicado por thessen (298 intervenciones) el 20/06/2006 09:39:59
Yo he desarrollado aplicaciones multiusuario y, la manera mas facil (a mi entender) de controlar las claves primarias es utilizar campos autoincrementables. Eso si, esta opción no permitirá duplicar las claves primarias, pero si los datos introducidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aplicaciones en red multiusuario

Publicado por Javier (18 intervenciones) el 20/06/2006 09:53:19
Gracias por la ayuda. Es una buena idea. Lo que a mi se me había ocurrido era justo antes de actualizar el Dataset, comprobar el último valor del campo llave, con un ExecuteScalar, y despues actualizar el dataset.
De todas formas, como tu dices, si cada usuario tiene una copia de la BD con su dataset y añaden un registro, le generará a cada uno el mismo valor, ¿no? y cuando actualicen la base de datos con el dataset se producirá el error, ¿o no es así?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aplicaciones en red multiusuario

Publicado por thessen (298 intervenciones) el 20/06/2006 10:02:31
El motor de la Base de Datos no asigna la clave primaria (autoincrementable) hasta el momento en que se inserta el registro. Esto es, si los usuarios tienen los datos cargados, cada uno en su DataSet, hasta el momento en que tu actualizas el DataSet contra la Base de Datos, los nuevos registros todavia no poseen la clave primaria. No se si me he explicado bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aplicaciones en red multiusuario

Publicado por Javier (18 intervenciones) el 20/06/2006 10:06:38
Okis, pensaba que al añadir una fila a un Dataset, el valor de un campo autoincrementable ya se asignaba, pero si no es así, es una buena forma de no tener problemas de que se repita. Voy a ver si lo pruebo. Gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar