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?

Preguntas similare

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).
Respuesta Responder a este mensaje
#2 Hola
16/02/2009 - 09:41 | Informe spam
gracias por resolverme la duda.

"Alberto Poblacion"
escribió en el mensaje news:
"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).

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida