Home > Foro de Ado.net >

Debates de Ado.net > Referencia a objeto no establecida como instancia de un objeto

Referencia a objeto no establecida como instancia de un objeto

Escrito por Beatriz el 19/06/2007
Buenas tardes a todos: Llevo una semana atascada con el mismo problema. Tanto al añadir, como al modificar registros, me da el Error Referencia a Objeto no establecida. He realizado varios formularios siguiendo diferentes formas de obtener el resultado, pero siempre me da el mismo error.

....... Form Load
Dim cn As New OleDb. OleDbConnection(Origen)
Dim da As New OleDb. OleDbDataAdapter("Select * from Clientes", cn)
Dim ds As New DataSet()
da. Fill(ds, "Clientes")

Dim cmdBuilder As New OleDb. OleDbCommandBuilder(da)
da. InsertCommand = cmdBuilder. GetInsertCommand
da. DeleteCommand = cmdBuilder. GetDeleteCommand
da. UpdateCommand = cmdBuilder. GetUpdateCommand

Me.txtIdCliente.DataBindings. Add("Text", ds, "Clientes. IDCLIENTE")
Me.txtNombre.DataBindings. Add("Text", ds, "Clientes. Nombre")
Me.txtDomicilio.DataBindings. Add("Text", ds, "Clientes. Direccion")
.......

"Guardar una referencia al objeto BindingManagerBase.
bmb = Me. BindingContext(ds, "Clientes")
"Forzar la actualización de los botones
bmb. Position = bmb. Count
bmb. Position = 0

..... Validar

Private Sub cmdValidar_Click(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles cmdValidar. Click
Select Case estado
Case Actualizar. Añadir
If FilaActual <> -1 Then
Dim cb As New OleDb. OleDbCommandBuilder(da)
Dim Fila As DataRow
Fila = ds. Tables("Clientes"). NewRow()
Fila. Item("IDCLIENTE") = Me.txtIdCliente.Text
Fila. Item("NOMBRE") = Me.txtNombre.Text
Fila. Item("DIRECCION") = Me.txtDomicilio.Text
.........
ds.Tables.Add("Clientes"). Rows. Add(Fila)
da. Update(ds, "Clientes")
Me.statusAviso.Text = "Registro Añadido Correctamente"
Case Actualizar. Modificar

ds. Tables("Clientes"). Rows(FilaActual). Item("IDCLIENTE") = Me.txtIdCliente.Text
ds. Tables("Clientes"). Rows(FilaActual). Item("NOMBRE") = Me.txtNombre.Text
ds. Tables("Clientes"). Rows(FilaActual). Item("DIRECCION") = Me.txtDomicilio.Text
........
da. Update(ds, "Clientes")

... AÑADIR:
Dim control As Control
For Each control In Controls
If TypeOf control Is TextBox Or TypeOf control Is MaskedTextBox Then
control. Text = ""
End If
Next
Estado = Actualizar. Añadir

El error cuando le doy a actualizar, modificar los cambios, por añadir o por modificar el registro me da en:
ds. Tables("Clientes"). Rows(FilaActual). Item("IDCLIENTE") = Me.txtIdCliente.Text
Acabo de volver a probar, y al añadir y validar me da el error en:
Fila = ds. Tables("Clientes"). NewRow()
Muchas gracias por su atención. Un saludo.

Citar  |  
Ver mensaje      

Escrito por Martinsc el 04/01/2008

Dim cmdBuilder As New OleDb. OleDbCommandBuilder(da)

Posiblemente lo tengas en esta linea.

Prueba con

Dim cmdBuilder As OleDb. OleDbCommandBuilder = New OleDb. OleDbCommandBuilder(da)


Citar  |  
Ver mensaje     


Responder


Quiero recibir alertas por email cuando haya mensajes nuevos en este debate

Al escribir en el debate:
  1. Repasa la ortografía y no escribas en formato SMS.
  2. Lee el texto dos veces antes de publicar.
  3. No escribas todo en mayúsculas o negritas.
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA

Búsquedas frecuentes: bi-rads 2 monocitosis 2º ciclo ume 2009 como hago una base de datos carnet de sanidad

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos