manejo datos desde módulo .vb

13/02/2009 - 08:58 por Hola | Informe spam
Hola,

Hace poco he aterrizado en VB desde vfoxpro, y ando algo perdido con
el manejo de datos.

Yo lo que quiero/necesito es crear un módulo para exportar e importar
datos, y por ello necesito encotnrar la mejor forma para manejar datos
desde un módulo.

En la ayuda de Vb he encontrado este ejemplo (ver al final op1), pero
no guarda los cambios en la BD (en mi caso access).

no se si alguien me puede orientar, ahora mismo, lo que hago es pasar
por referencia los bindingsource que uso y hago lo que pongo mas abajo
(op2)

miles de gracias.

OP1 - lo que dice VB -
Private Sub AcceptChanges()
Dim myDataSet As DataSet
myDataSet = new DataSet()

Dim t As DataTable

t = myDataSet.Tables("Suppliers")

' Add a DataRow to a table.
Dim myRow As DataRow
myRow = t.NewRow()
myRow("CompanyID") = "NWTRADECO"
myRow("CompanyName") = "NortWest Trade Company"

' Add the row.
t.Rows.Add( myRow )

myDataSet.AcceptChanges()
End Sub


OP2, lo que si funciona:

Me.T_airportsTableAdapter.Insert("1234", "Nombre")
Me.T_airportsBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.ETLPsDataSet)

' claro, aquí tengo que pasar a la función, el bindingsource y el
tableadapter por referencia ... lo cual no se si es muy optimo... y en
el caso de usar varias tablas, tendría que pasar 20 parámetros... uf,
que lio, no?
 

Leer las respuestas

#1 Alberto Poblacion
13/02/2009 - 11:47 | Informe spam
"Hola" wrote in message
news:
[...]
En la ayuda de Vb he encontrado este ejemplo (ver al final op1), pero
no guarda los cambios en la BD (en mi caso access).
[...]
t.Rows.Add( myRow )

myDataSet.AcceptChanges()



Error frecuentísimo entre los desarrolladores que comienzan con ADO.NET.
El método AcceptChanges del DataSet NO GRABA NADA. Lo que hace es que marca
en memoria los datos como "no modificados". Está pensado para ser llamado
DESPUES de haber grabado ya los datos en la base de datos, para que la copia
que hay en memoria los considere "actuales" y no se vuelva a intentar
grabarlos la próxima vez que se llame a uno de los métodos de grabación.

Para volcar los datos de un DataSet al servidor de base de datos, lo más
simple es utilizar un DataAdapter y llamar a su método Update (o utilizar un
TableAdapter que ya contiene en su interior el DataAdapter).

Preguntas similares