Referencia a objeto no establecida como instancia
Publicado por Beatriz (38 intervenciones) el 14/06/2007 20:02:34
Buenas tardes, a ver si me pueden ayudar, que estoy bloqueada desde hace varios días, y no encuentro el fallo....
He creado un formulario de una única tabla, Empleados.... Da igual que dé al botón añadir, a actualizar, a validar... Siempre me da el error:
" Referencia a objeto no establecida como instancia de un objeto. "
Por más que reviso el código, no veo error alguno. ¿Alguien sabe que puedo estar haciendo mal? Os muestro el código a ver si alguien ve el error:
cn = New OleDb.OleDbConnection(Origen)
Dim da As New OleDb.OleDbDataAdapter("Select * from Empleados", cn)
Dim dtEmp As New DataTable("Empleados")
da.Fill(ds, "Empleados")
Dim cmdBuilder As OleDb.OleDbCommandBuilder
cmdBuilder = New OleDb.OleDbCommandBuilder(da)
da.InsertCommand = cmdBuilder.GetInsertCommand
da.DeleteCommand = cmdBuilder.GetDeleteCommand
da.UpdateCommand = cmdBuilder.GetUpdateCommand
Dim obind As Binding
obind = New Binding("Text", ds, "Empleados.Nombre")
Me.txtNombre.DataBindings.Add(obind)
obind = Nothing
obind = New Binding("Text", ds, "Empleados.Población")
Me.txtPoblacion.DataBindings.Add(obind)
obind = Nothing
obind = New Binding("Text", ds, "Empleados.Domicilio")
Me.txtDomicilio.DataBindings.Add(obind)
obind = Nothing
......
bmb = Me.BindingContext(ds, "Empleados")
da.Update(ds.Tables("Empleados"))
'Forzar la actualización de los botones
bmb.Position = bmb.Count
------------------------------------------
Case Actualizar.Añadir
Try
Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim fila As DataRow = dtEmp.NewRow
fila.Item("Nombre") = Me.txtNombre.Text
fila.Item("NIF") = Me.txtNif.Text
fila.Item("Domicilio") = Me.txtDomicilio.Text
......
dtEmp.Rows.Add(fila)
If ds.HasChanges Then
Me.da.Update(ds.Tables("Empleados"))
...........
Case Else
Try
dtEmp.Rows(FilaActual).Item("NIF") = Me.txtNif.Text
dtEmp.Rows(FilaActual).Item("Nombre") = Me.txtNombre.Text
dtEmp.Rows(FilaActual).Item("Domicilio") = Me.txtDomicilio.Text
.....
If ds.HasChanges Then
Me.da.Update(ds, "Empleados")
Gracias por vuestra atención, un saludo
He creado un formulario de una única tabla, Empleados.... Da igual que dé al botón añadir, a actualizar, a validar... Siempre me da el error:
" Referencia a objeto no establecida como instancia de un objeto. "
Por más que reviso el código, no veo error alguno. ¿Alguien sabe que puedo estar haciendo mal? Os muestro el código a ver si alguien ve el error:
cn = New OleDb.OleDbConnection(Origen)
Dim da As New OleDb.OleDbDataAdapter("Select * from Empleados", cn)
Dim dtEmp As New DataTable("Empleados")
da.Fill(ds, "Empleados")
Dim cmdBuilder As OleDb.OleDbCommandBuilder
cmdBuilder = New OleDb.OleDbCommandBuilder(da)
da.InsertCommand = cmdBuilder.GetInsertCommand
da.DeleteCommand = cmdBuilder.GetDeleteCommand
da.UpdateCommand = cmdBuilder.GetUpdateCommand
Dim obind As Binding
obind = New Binding("Text", ds, "Empleados.Nombre")
Me.txtNombre.DataBindings.Add(obind)
obind = Nothing
obind = New Binding("Text", ds, "Empleados.Población")
Me.txtPoblacion.DataBindings.Add(obind)
obind = Nothing
obind = New Binding("Text", ds, "Empleados.Domicilio")
Me.txtDomicilio.DataBindings.Add(obind)
obind = Nothing
......
bmb = Me.BindingContext(ds, "Empleados")
da.Update(ds.Tables("Empleados"))
'Forzar la actualización de los botones
bmb.Position = bmb.Count
------------------------------------------
Case Actualizar.Añadir
Try
Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim fila As DataRow = dtEmp.NewRow
fila.Item("Nombre") = Me.txtNombre.Text
fila.Item("NIF") = Me.txtNif.Text
fila.Item("Domicilio") = Me.txtDomicilio.Text
......
dtEmp.Rows.Add(fila)
If ds.HasChanges Then
Me.da.Update(ds.Tables("Empleados"))
...........
Case Else
Try
dtEmp.Rows(FilaActual).Item("NIF") = Me.txtNif.Text
dtEmp.Rows(FilaActual).Item("Nombre") = Me.txtNombre.Text
dtEmp.Rows(FilaActual).Item("Domicilio") = Me.txtDomicilio.Text
.....
If ds.HasChanges Then
Me.da.Update(ds, "Empleados")
Gracias por vuestra atención, un saludo
Valora esta pregunta


0