Visual Basic.NET - Problemas con dataset de varias tablas

 
Vista:

Problemas con dataset de varias tablas

Publicado por david (116 intervenciones) el 24/05/2004 17:50:56
Hola!! Tengo un problema con los dataset a ver si alguien me puede ayudar. Yo generalmente creo una consulta de una tabla con un dataadapter y cargo el dataset de esta forma:
adapter.fill(dataset,"NombreTabla")
Como podria crear un dataset cuando en la creacion del dataadapter use una consulta de 4 tablas y usando los where de sql??
intento hacerlo adapter.fill(dataset,"nombreTabla1","NombreTabla2"..) pero no funciona.
Gracias y saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con dataset de varias tablas

Publicado por Edgar (1501 intervenciones) el 24/05/2004 18:33:51
Hola

Generalmente el dataadapter se usa para llenar una sola tabla, te recomiendo que uses varios adaptadores para hacer lo que quieres..

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con dataset de varias tablas

Publicado por david (116 intervenciones) el 24/05/2004 19:10:29
Hola!! Con lo que me dices consegui crear un dataset de 4 tablas y se suponen q estan las relaciones hechas. Como puedo ahora poner las restricciones?? Voy a ser un poco mas específico: Necesito q el combobox me muestre solo el nombre de materias primas cuyo proveedor sea el q indique el combobox de abajo, pero no me sale, me pone todas por defecto.
Muchas gracias por todo y saludos

Dim adaptermp As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM MateriasPrimas", conn)
Dim adapterdet As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM DetalleProveedorMp", conn)
Dim adapterprov As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM ProveedoresMp where idProvMp='" & CProvMp.Text() & "'", conn)
Dim datasetmp As DataSet = New DataSet
adaptermp.Fill(datasetmp, "MateriasPrimas")
adaptermp.Fill(datasetmp, "DetalleProveedorMp")
adaptermp.Fill(datasetmp, "ProveedoresMp")
CNombreMp.DataSource = datasetmp.Tables("MateriasPrimas")
CNombreMp.DisplayMember = "nombre"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con dataset de varias tablas

Publicado por Edgar (1501 intervenciones) el 24/05/2004 19:16:54
Hola

Puedes crear una vista...

Dim dv as DataView
dv = datasetmp.Tables("MateriasPrimas").DefaultView

Luego filtras por la columna de proveedores

dv.RowFilter = "ProveedorId = ID_PROVEEDOR"

Finalmente, asignas la vista como la fuente de datos del combo

CNombreMp.DataSource = dv
CNombreMp.DisplayMember = "nombre"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con dataset de varias tablas

Publicado por david (116 intervenciones) el 24/05/2004 19:34:03
Hola! Perdona pero hoy estoy un poco espeso. el dataview q creo es de una sola tabla? xq el campo que quiero mostrar \"nombre\" pertenece a una tabla, y el campo de filtro pertenece a otra tabla. Entonces al hacerlo me dice q no encuentra el campo IdProveedor. Tengo q hacer la vista de varias tablas? como es?

De nuevo gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con dataset de varias tablas

Publicado por Edgar (1501 intervenciones) el 24/05/2004 19:52:38
Hola

En la tabla de materia prima deberias tener una clave foránea que apunte al proveedor, de tal manera que puedas hacer el filtro. Usa esa columna para filtrar la tabla.

En el caso de querer crear la vista que sea el join entre varias tablas, lo mas recomendable es entoces crear un DataTable que contenga la consulta adecuada.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar