DataSet con múltiples tablas y DataRelation

17/08/2004 - 18:26 por Rafael | Informe spam
Hola a todos!!
Tengo problemas al hacer el fill de un DataAdapter a un
DataSet múltiple con relaciones. Me genera un error
porque dice que una o varias filas no cumplen con las
restricciones Non-Null, Unique, o Foreign key. En
realidad los conjuntos de datos devuelto por las
consultas cumplen con todas las restricciones, el
problema creo que puede estar en que el fill agrega al
dataset unos 120 registros que tienen {System.DBNull} y
no tengo idea de porque los agrega y menos de porque la
relación interprete que estos registros violan las
restricciones.
Desde ya agradezo cualquier aporte,
Saludos,
Rafael

Preguntas similare

Leer las respuestas

#6 Rafael
27/08/2004 - 13:24 | Informe spam
Gracias Federico,
Efectivamente estos son los problemas, ya lo he
solucionado.
Hay que tener mucho cuidado con esto del orden y hacerlo
bien desde el principio ya que te arrastra problemas
hasta el update.
Indudablemente este es un defecto grande que tiene el
manejo de ado.net con el visualStudio.net, para una
próxima versión deberian mejorar este aspecto ya que
ocaciona dificultades inecesarias en la programación.

Saludos,
Rafael
Es correcta tu apreciación, pero por lo que he probado,


cuando cargo el
Dataset (particularmente cargo varias tablas al mismo


tiempo y utilizo
SQLHelper) tengo que tener la precaución de cargar las


tablas en el orden en
que fueron agregadas en el DataSet tipeado, de no ser


así me patea con esos
errores. Otra cosa a tener en cuenta es que para tablas


relacionadas primero
debes cargar las tablas hijas y luego las padres, de


otro modo patean las
Constraints.

Saludos
(AUS) Federico A. Colli

"Rafael" escribió en el mensaje
news:246e01c4863b$1dfcb670$
Gracias Federico,
Con el EnforceConstraints en False funciona bien, pero
debe existir alguna forma para que los DataSet y sus
relaciones creados con la herramienta de diseño de
VisualStudio funcionen de acuerdo a lo esperado, para que
uno pueda decidir de que forma quiere controlar la
integridad, si con la BD o con el DataSet.
Yo también dejo que la BD se encargue de la integridad,
pero como existia esta posibilidad la estaba


investigando.

Muchas gracias,
Rafael Silveira
Puedes resolverlo haciendo:
DataSet.EnforceConstraints = False

Para luego del llenado de datos hacer:

DataSet.EnforceConstraints = True

Aunque dependiendo del DataSet y los datos cargados


puede darte el mismo
error. Particularmente yo no vuelvo a habilitar los


Constraints, dado que
dejo al motor de BD el tema de integridad referencial,


si hay algún problema
lo manejo a través de excepciones.

Saludos
(AUS) Federico A. Colli
"Rafael" escribió


en el mensaje
news:787501c48476$ec974340$
Hola a todos!!
Tengo problemas al hacer el fill de un DataAdapter a un
DataSet múltiple con relaciones. Me genera un error
porque dice que una o varias filas no cumplen con las
restricciones Non-Null, Unique, o Foreign key. En
realidad los conjuntos de datos devuelto por las
consultas cumplen con todas las restricciones, el
problema creo que puede estar en que el fill agrega al
dataset unos 120 registros que tienen {System.DBNull} y
no tengo idea de porque los agrega y menos de porque la
relación interprete que estos registros violan las
restricciones.
Desde ya agradezo cualquier aporte,
Saludos,
Rafael


.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida