SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => Otros CLR => Mensaje iniciado por: dcondor79 en Viernes 8 de Julio de 2005, 20:28

Título: Actualizar Tablas Relacionadas
Publicado por: dcondor79 en Viernes 8 de Julio de 2005, 20:28
Hola, estoy haciendo una aplicación en visual basic.net y tengo un formulario con 3 tablas relacionadas con datagrids, agrego un registro primario y despues agrego un registro secundario relacionado al registro primario que cree antes, y tengo un boton actualizar que me actualiza los 3 dataadapters, el problema es que me sale en ocasiones un error en la actualización, buscando en internet encontré que esto sucede porque cuando agrego regsitros secundarios los registros primarios en realidad todavia no existen hasta que actualice la base de datos primero, osea que primero tengo que crear el registro primario y actualizar la base de datos y solamente despues de eso puedo agregar el registro secundario, asi me funciona bien, pero claro no es la idea verdad??

http://msdn.microsoft.com/library/spa/default.asp?.. (http://msdn.microsoft.com/library/spa/default.asp?..).

aqui esta la informacion que encontré, pero se me hace un poco complicado encontrar la solución a nivel de codigo, si alguien tiene experiencia con este problema porfavor hágame saber porque este es un escenario muy común en aplicaciones con base de datos y esto le puede servir a muchos usuarios



Gracias
Título: Re: Actualizar Tablas Relacionadas
Publicado por: Güorker en Lunes 11 de Julio de 2005, 08:22
Hola,

Creo que si en tu aplicación utilizas un DataSet que contenga las 3 tablas de la BD con sus relaciones y restriccones, a la hora de hacer las UPDATE de los DataAdapters no te da problemas porque es el DataSet quien gestiona esas relaciones entre filas.

Espero no estar equivocado. Saludos
Título: Re: Actualizar Tablas Relacionadas
Publicado por: dcondor79 en Lunes 11 de Julio de 2005, 22:41
Hola:

Mi dataset se llama DsCategoriaEmpresaContacto y ahi están las 3 tablas con sus respectivas relaciones, mi problema es cuando por ejemplo quiero crear una empresa nueva y al mismo tiempo un contacto relacionado a la empresa nueva. Se supone que antes de crear el contacto primero hay que crear la empresa porque sino el contacto no tendría ninguna empresa con quien relacionarse, por lo tanto el codigo que utilizo para actualizar las tablas es el siguiente:


Sub boton_actualizar()
{


OledbDataAdapter1.Update(DsCategoriaEmpresaContacto)  // tabla categoria

OledbDataAdapter2.Update(DsCategoriaEmpresaContacto)  // tabla empresa

OledbDataAdapter3.Update(DsCategoriaEmpresaContacto)  // tabla contacto


}


por lo que se ve en el codigo, actualizo las tablas en el orden correcto, lo raro es que el codigo a veces me funciona perfectamente pero a veces me genera una excepcion y no se a que se debe, ayuda please....




David
Título: Re: Actualizar Tablas Relacionadas
Publicado por: Güorker en Martes 12 de Julio de 2005, 08:59
Hola,

Las Updates las deberías hacer de tal manera que primero se actualice la tabla padre de las relaciones y luego la tabla hija. Ya que si lo haces al reves puede que intentes meter un hijo sin padre y eso no es posible.

Por otro lado, si dices que a veces te funciona y otras veces te sale una excepción, ¿Podrías indicar la excepción que te sale?

Saludos y suerte