CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: junahu en Jueves 20 de Julio de 2006, 11:39
Título: Problemas Con Haschanges
Publicado por: junahu en Jueves 20 de Julio de 2006, 11:39
Hola amigos, tengo un problema que no consigo encontrar la solución. Utilizo Visual Basic Net 2005.
Tengo dos formularios, el primero me da los datos de un dataSet y al modificar los datos me los actualiza en la base de datos, pero en el segundo formulario hago un filtrado de un dataTable para que en dicho formulario me deje las listas que necesito.
El problema es que cuando actualizo los datos modificados de este dataTable en la base de datos principal no me lo hace. El filtrado lo hago con:
Dim rows As DataRow() dtNew = ds.Tables("tabla2").Clone() rows = ds.Tables("tabla2").Select("id2=" & dato_requerido) For Each dr As DataRow In rows dtNew.ImportRow(dr) Next
y este dtNew lo utilizo para el segundo formulario con:
Me imagino que después tengo que pasar los datos del dtNew a el dataSet principal, pero no encuentro la forma para que cuando cierre el formulario la sentencia
ds.HasChanges
me reconozca que hay datos nuevos y lo actualice a la base de datos principal.
Espero que me halláis entendido y podais ayudarme. Si queréis mas datos, por favor pedírmelos. Saludos a todos y gracias.
Título: Re: Problemas Con Haschanges
Publicado por: sergiotarrillo en Viernes 4 de Agosto de 2006, 02:21
que método usas para actualizar tu dataSet en el primer caso?
usas un TableAdapter.Update(dataSet) o sqlAdapter(dataset)?
Cuando trabaje con el método update, solo funcionaba cuando usabas el NewRow para agregar nuevos objetos al DataSet, es decir:
Código: Text
For Each dr As DataRow In rows
dim dr2 as DataRow = dtNew.NewRow()
dr2(0) = dr(0)
dr2(1) = dr(1)
...
dtNew.Rows.Add(dr)
Next
Y posiblemente tengas que hacer lo mismo con el clone, todo sería cuestión de probar.
A por cierto use esquemas para mapear el DataSet..y creo que todo gira en torno a eso.
Saludos,
Título: Re: Problemas Con Haschanges
Publicado por: junahu en Sábado 5 de Agosto de 2006, 02:26
muchas gracias por contestar, sergiotarrillo. He cambiado la forma de acerlo y estoy utilizando un DataView y de momento creo que me funciona todo. Espero que me sirva.