2011-10-05 53 views
6

Tengo 3 tablas y he hecho relaciones con cada una de ellas.C# DataSet.Relations: ¿Cómo usar las relaciones de DataSet?

Diga: tabla 1 tiene: AID, BID, CID, someText y someNumber

tabla 2 tiene: oferta, txtValueTable2, someText

tabla 3 tiene: Cid, txtValueTable3, someText

algo de código:

ds.Relations.Add("BrandNameStr", ds.Tables[1].Columns["bID"], ds.Tables[0].Columns["bID"]); 
      ds.Relations.Add("IngredientStr", ds.Tables[2].Columns["cID"], ds.Tables[0].Columns["cID"]); 

Ahora yo qui nt utilizar las columnas de las 3 tablas para hacer 1 conjunto de datos, pero no sé cómo?

El conjunto de datos debe tener las siguientes columnas: auxilios, txtValueTable2, txtValueTable3, someText y someNumber

Alguien me puede ayudar?

Respuesta

4

Here hay un buen ejemplo.

En pocas palabras, tiene que utilizar el método DataTabel.GetChildRows().

Here están trabajando ejemplo

+0

Esto no es lo que estoy buscando. Quiero saber cómo obtener un DataSet con este nuevo diseño de columna. Este ejemplo solo imprime las relaciones, eso es fácil de hacer. Estoy luchando con la construcción del nuevo DataSet. – Remco

+0

Creo que no puede obtener el conjunto de datos sin escribir un código, y la paz del código que muestro apunte en el sentido correcto ... en lugar de imprimir el valor de las filas secundarias, puede crear una nueva tabla de datos y agregar las filas secundarias . Por lo tanto, debe compilar un nuevo conjunto de datos con una nueva tabla de datos que contenga todas las columnas que desee y agregar la fila de datos en tiempo de ejecución ... o una forma simple es usar una cuadrícula de datos maestra/detallada y vincular el conjunto de datos con las relaciones – 2GDev

+0

OK, este ejemplo no está claro para mí, todavía no sé cómo construir un nuevo DataSet? Tampoco tengo miedo de escribir código. Pero no espero tener 100 columnas y solo las columnas 2ª y 3ª deben ser reemplazadas por las columnas de las otras tablas que tengo que escribir 100 veces "column.add()"? – Remco

0

Hola necesita cambiar por esto:

ds.Relations.Add ("BrandNameStr", ds.Tables [0] .Columns [ "BID"], ds. Tablas [1]. Columnas ["bid"]);

+0

agrega un comentario explicando tu razón para este cambio. – phoenix

Cuestiones relacionadas