Visual Basic.NET - para edgar

 
Vista:

para edgar

Publicado por jose (35 intervenciones) el 28/06/2004 17:06:05
Si ya he conseguido juntar 2 dataset con el metodo merge
strinfo2 = "SELECT * FROM Articulos"
Dim adperson2 As OleDbDataAdapter
adperson2 = New OleDbDataAdapter(strinfo2, OleDbConnection2)
Dim dsresults2 As New DataSet
adperson2.Fill(dsresults2, "personal2")

dsresults2.Merge(dsresults)
adperson2.Fill(dsresults2, "personal2")

Pero lo que quiero hacer ahora es insertar este nuevo dataset a la base de datos. Como puedo conseguir esto??

Gracias por tu respuesta
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:para edgar

Publicado por Edgar (1501 intervenciones) el 28/06/2004 20:18:24
Hola

Como los dos dataset tienen la misma estructura en las tablas no vas a tener ningún problema si usas el adaptador con el que llenaste el DataTable, invocando el método Update.

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:para edgar

Publicado por jose (35 intervenciones) el 29/06/2004 11:51:50
Nada, no consigo que los cambios queden reflejados en la base de datos. Este es mi codigo fuente por si me pudieras echar una mano

Dim dsresults2 As New DataSet
adperson2.Fill(dsresults2, "personal2")

dsresults2.Merge(dsresults)
adperson2.Fill(dsresults2, "personal2")

MessageBox.Show(dsresults2.Tables("personal2").Rows.Count)
//aqui si que tengo las filas de ambos datasets

Dim comando As OleDbCommandBuilder = New OleDbCommandBuilder(adperson2)
adperson2.Update(dsresults2, "personal2")
//aqui se supone que deberia realizar los cambios en la bd
dsresults2.AcceptChanges()
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:para edgar

Publicado por Edgar (1501 intervenciones) el 29/06/2004 15:00:01
Hola

Bueno, primero tienes que revisar si tu datatable tiene una clave primaria, te lo digo porque estás invocando el método Fill del adaptador adperson2 dos veces, y en caso de que no tengas clave primaria puede ser que te está repitiendo las filas, aparentando que hace el merge al momento de que muestras el mensaje con el número de filas

Por otra parte, debes revisar si el OleDbCommandBuilder te creo los comandos para insertar modificar y eliminar filas, ya que si no lo hizo, no podrás actualizar tus datos.

Esto lo haces con los métodos GetDeleteCommand, GetInsertCommand y GetUpdateCommand del CommandBuilder

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:para edgar

Publicado por jose (35 intervenciones) el 29/06/2004 18:56:23
Gracias ya funciona
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