Duda sobre relaciones en un DataSet

16/11/2006 - 12:01 por Jordi Julià | Informe spam
Hola a todos,

Tengo una duda sobre si lo que propongo el posible (VB2003 en WebForms):

- Tengo un Dataset con tres tablas relacionadas entre ellas
- ¿Puedo realizar una Vista (o alguna otra cosa) para obtener un conjunto de
datos que contenga información de las tres tablas?
- O sea, si lo quisiera hacer directamente en SQL utilizaría la sentencia
JOIN (por ejemplo: SELECT * FROM TABLA1 LEFT JOIN TABLA2 ON LEFT JOIN
TABLA3 ON ... ) Esto es posible desde un DataSet.

- Si no es posible, ¿porque en el objeto DataSet se pueden indicar
relaciones?


Saludos
Jordi

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
16/11/2006 - 15:12 | Informe spam
"Jordi Julià" wrote in message
news:
- ¿Puedo realizar una Vista (o alguna otra cosa) para obtener un conjunto
de datos que contenga información de las tres tablas?
- O sea, si lo quisiera hacer directamente en SQL utilizaría la sentencia
JOIN (por ejemplo: SELECT * FROM TABLA1 LEFT JOIN TABLA2 ON LEFT
JOIN TABLA3 ON ... ) Esto es posible desde un DataSet.



No, no es posible. Se tiene que hacer en la base de datos, o dentro del
dataset por programación a base de bucles, pero no hay una instrucción que
te lo haga directamente.

- Si no es posible, ¿porque en el objeto DataSet se pueden indicar
relaciones?



Con las relaciones del dataset funcionan los métodos GetParentRow y
GetChildRows que te permiten navegar desde la tabla hija hacia la tabla
madre y viceversa, pero funcionan registro a registro, no permiten hacer
directamente un JOIN de las tablas completas.
Las relaciones también se usan en el CreateChildView de los DataView, y
en el WriteXml del dataset cuando pides que te genere Xml anidado, para
determinar la anidación.
También pueden servir, si activas esta opción, para verificar la
integridad referencial, y no permitirte introducir datos en la tabla hija
que no se puedan relacionar con la tabla madre.
Respuesta Responder a este mensaje
#2 Jordi Julià
16/11/2006 - 17:52 | Informe spam
Muchas gracias
Saludos
Jordi


"Alberto Poblacion"
escribió en el mensaje news:
"Jordi Julià" wrote in message
news:
- ¿Puedo realizar una Vista (o alguna otra cosa) para obtener un conjunto
de datos que contenga información de las tres tablas?
- O sea, si lo quisiera hacer directamente en SQL utilizaría la sentencia
JOIN (por ejemplo: SELECT * FROM TABLA1 LEFT JOIN TABLA2 ON LEFT
JOIN TABLA3 ON ... ) Esto es posible desde un DataSet.



No, no es posible. Se tiene que hacer en la base de datos, o dentro del
dataset por programación a base de bucles, pero no hay una instrucción que
te lo haga directamente.

- Si no es posible, ¿porque en el objeto DataSet se pueden indicar
relaciones?



Con las relaciones del dataset funcionan los métodos GetParentRow y
GetChildRows que te permiten navegar desde la tabla hija hacia la tabla
madre y viceversa, pero funcionan registro a registro, no permiten hacer
directamente un JOIN de las tablas completas.
Las relaciones también se usan en el CreateChildView de los DataView, y
en el WriteXml del dataset cuando pides que te genere Xml anidado, para
determinar la anidación.
También pueden servir, si activas esta opción, para verificar la
integridad referencial, y no permitirte introducir datos en la tabla hija
que no se puedan relacionar con la tabla madre.


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