Actualizar la BD con DataSet

28/07/2004 - 11:15 por zmarquez | Informe spam
Hola,
tengo una duda que no sé como solucionar. Tengo un sistema
que obtiene los datos de una base de datos SQL Server y
guarda las tablas en un DataSet. Las trablas están
relacionadas mediante Foreign Key, tanto en la BD como en
el DataSet. El problema es que es un sistema multiusuario
y creo que cuando accedan varios usuarios y generen el
DataSet tendré problemas al actualizar a posteriori en la
BD.
Me explico. Supongamos que tenemos una tabla T1 con un
campo Primary Key autonumerico, y una tabla T2 con un
campo Foreign Key numérico que está relacionado con la PK
de la T1. Cuando en el DataSet genero un nuevo elemento de
T1 se generará con la PK que le toque, que se puede
repetir en el DataSet de otro usuario. Por tanto, cuando
actualice en la BD que pasará?
Y además, si tengo registros en T2 relacionados con
registros de T1 que tienen duplicados en otro DataSet,
como soluciono esto al guardar en la BD?
Espero que haya quedado claro cual es mi problema.
Gracias
 

Leer las respuestas

#1 Pablo Fabian Savino
28/07/2004 - 11:30 | Informe spam
Hola
primeramente que el data set trabaja desconectado del servidor, asi
que si otro usuario pone un dato nuevo, tu no te enteras hasta que vuelvas a
cargar ese data set.

Pero tu en la primera Tabla tienes un autonumerico, asi que no deberia pasar
nada porque se generaria el numero que corresponda, ya con tener un
autonumerico en la tabla y siendo PK, gamas deberia darte un duplicado.

Ahora, si pasa lo que imaginas, entonces tendras el error de Duplicado y
nada mas, en realidad cuando el DataAdapter haga el update recibira el error
del server y ahi decides que hacer.

Por eso,para ese tipo de aplicaciones y en mi caso, NUNCA uso data set para
actualizar o crear nuevos registros, lo hago mediante SqlCommands y por
medio se Stores Procedures en el server, de esta manera menejo mejor esas
situaciones.

Saludos


"zmarquez" wrote in message
news:583901c47483$5cd50a60$
Hola,
tengo una duda que no sé como solucionar. Tengo un sistema
que obtiene los datos de una base de datos SQL Server y
guarda las tablas en un DataSet. Las trablas están
relacionadas mediante Foreign Key, tanto en la BD como en
el DataSet. El problema es que es un sistema multiusuario
y creo que cuando accedan varios usuarios y generen el
DataSet tendré problemas al actualizar a posteriori en la
BD.
Me explico. Supongamos que tenemos una tabla T1 con un
campo Primary Key autonumerico, y una tabla T2 con un
campo Foreign Key numérico que está relacionado con la PK
de la T1. Cuando en el DataSet genero un nuevo elemento de
T1 se generará con la PK que le toque, que se puede
repetir en el DataSet de otro usuario. Por tanto, cuando
actualice en la BD que pasará?
Y además, si tengo registros en T2 relacionados con
registros de T1 que tienen duplicados en otro DataSet,
como soluciono esto al guardar en la BD?
Espero que haya quedado claro cual es mi problema.
Gracias

Preguntas similares