Eliminar un Registro

16/08/2004 - 22:22 por Omar Flores | Informe spam
Hola que tal, tengo un problema al tratar de eliminar un registro.

Tengo una forma con un TabControl y varios TabPages, en el TabPage
correspondiente
a las bajas tengo lo siguiente.


Declaracion de variables

Public Class frmProveedores
Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Dim daBProveedor As SqlClient.SqlDataAdapter
Dim dsBProveedor As New DataSet
Dim drBProveedor As DataRow
Dim dtBProveedor As DataTable = New DataTable


-

Private Sub tpBaja_Layout(ByVal sender As Object, ByVal e As
System.Windows.Forms.LayoutEventArgs) Handles tpBaja.Layout
txtBRFC.Focus()
Dim dc(0) As DataColumn

Try
daBProveedor = New SqlClient.SqlDataAdapter("Select * from
Proveedor", conn)
daBProveedor.Fill(dtBProveedor)
dc(0) = dtBProveedor.Columns("RFC_Proveedor")
dtBProveedor.PrimaryKey = dc
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

End Sub

' Aqui lo unico que hago es Llenar la tabla y establecer la columna de la
llave primaria.


Ahora tengo un botón de busqueda que manda llamar a un Procedimiento llamado
BuscaBaja, el cual tiene el sig. código.


Private Sub BuscaBaja()
Dim busca(0) As Object
busca(0) = txtBRFC.Text
drBProveedor = dtBProveedor.Rows.Find(busca)

txtBRFC.Text = drBProveedor("RFC_Proveedor").ToString
txtBNombre.Text = drBProveedor("Nombre").ToString
txtBDireccion.Text = drBProveedor("Direccion").ToString
cbBCiudad.Text = drBProveedor("Ciudad").ToString
txtBTelefono.Text = drBProveedor("Telefono").ToString
End Sub

Aqui le mando el parámetro del RFC, si lo encuentra despliega el contenido
de los demas campos.
(hasta aquí no tengo ningun problema)


Y por último tengo un botón que manda llamar a un procedimiento llamado
Eliminar, el cual tiene el sig. código.


Private Sub Eliminar()
Dim cbBProveedor As SqlClient.SqlCommandBuilder
Try
cbBProveedor = New SqlClient.SqlCommandBuilder(daBProveedor)
dsBProveedor.Tables("Proveedor").Rows.Remove(drBProveedor) '(*)
daBProveedor.DeleteCommand = cbBProveedor.GetDeleteCommand
daBProveedor.Update(dsBProveedor, "Proveedor")
dsBProveedor.Tables("Proveedor").AcceptChanges()
daBProveedor.DeleteCommand.Connection.Close()
MsgBox("Registro Eliminado ")
Catch ex As SqlClient.SqlException
MsgBox("Ocurrio el siguiente error: " & ex.Message)
Catch exc As Exception
MsgBox("Ocurrio el siguiente error: " & exc.Message)
End Try

End Sub

Aqui pretendo eliminar el registro que buscamos anteriormente, pero me marca
el Sig. error:

referencia a Objeto no establecida como instancia de un objeto (*)


Espero y me puedan decir que es lo que estoy haciendo mal y/o proporcionarme
algúna otra alternativa

Por su ayuda, muchas gracias.

Preguntas similare

Leer las respuestas

#1 Nestus
16/08/2004 - 21:20 | Informe spam
Tienes que instanciar la variable que te esta generando ese error, dado que
solamente la has declarado pero no le has hecho el new es por eso que te
lanza ese error.

Saludos

"Omar Flores" escribió en el mensaje
news:
Hola que tal, tengo un problema al tratar de eliminar un registro.

Tengo una forma con un TabControl y varios TabPages, en el TabPage
correspondiente
a las bajas tengo lo siguiente.


Declaracion de variables

Public Class frmProveedores
Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Dim daBProveedor As SqlClient.SqlDataAdapter
Dim dsBProveedor As New DataSet
Dim drBProveedor As DataRow
Dim dtBProveedor As DataTable = New DataTable


-

Private Sub tpBaja_Layout(ByVal sender As Object, ByVal e As
System.Windows.Forms.LayoutEventArgs) Handles tpBaja.Layout
txtBRFC.Focus()
Dim dc(0) As DataColumn

Try
daBProveedor = New SqlClient.SqlDataAdapter("Select * from
Proveedor", conn)
daBProveedor.Fill(dtBProveedor)
dc(0) = dtBProveedor.Columns("RFC_Proveedor")
dtBProveedor.PrimaryKey = dc
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

End Sub

' Aqui lo unico que hago es Llenar la tabla y establecer la columna de la
llave primaria.


Ahora tengo un botón de busqueda que manda llamar a un Procedimiento


llamado
BuscaBaja, el cual tiene el sig. código.


Private Sub BuscaBaja()
Dim busca(0) As Object
busca(0) = txtBRFC.Text
drBProveedor = dtBProveedor.Rows.Find(busca)

txtBRFC.Text = drBProveedor("RFC_Proveedor").ToString
txtBNombre.Text = drBProveedor("Nombre").ToString
txtBDireccion.Text = drBProveedor("Direccion").ToString
cbBCiudad.Text = drBProveedor("Ciudad").ToString
txtBTelefono.Text = drBProveedor("Telefono").ToString
End Sub

Aqui le mando el parámetro del RFC, si lo encuentra despliega el contenido
de los demas campos.
(hasta aquí no tengo ningun problema)


Y por último tengo un botón que manda llamar a un procedimiento llamado
Eliminar, el cual tiene el sig. código.


Private Sub Eliminar()
Dim cbBProveedor As SqlClient.SqlCommandBuilder
Try
cbBProveedor = New SqlClient.SqlCommandBuilder(daBProveedor)
dsBProveedor.Tables("Proveedor").Rows.Remove(drBProveedor)


'(*)
daBProveedor.DeleteCommand = cbBProveedor.GetDeleteCommand
daBProveedor.Update(dsBProveedor, "Proveedor")
dsBProveedor.Tables("Proveedor").AcceptChanges()
daBProveedor.DeleteCommand.Connection.Close()
MsgBox("Registro Eliminado ")
Catch ex As SqlClient.SqlException
MsgBox("Ocurrio el siguiente error: " & ex.Message)
Catch exc As Exception
MsgBox("Ocurrio el siguiente error: " & exc.Message)
End Try

End Sub

Aqui pretendo eliminar el registro que buscamos anteriormente, pero me


marca
el Sig. error:

referencia a Objeto no establecida como instancia de un objeto (*)


Espero y me puedan decir que es lo que estoy haciendo mal y/o


proporcionarme
algúna otra alternativa

Por su ayuda, muchas gracias.


Respuesta Responder a este mensaje
#2 Omar Flores
16/08/2004 - 23:51 | Informe spam
Pues creo que eso no es, ya hize lo sig.

Dim drBProveedor As New DataRow

y

dim drBProveedor As DataRow
drBProveedor= New DataRow

y tampoco funciona, me marca error en la declaración.


"Nestus" escribió en el mensaje
news:
Tienes que instanciar la variable que te esta generando ese error, dado


que
solamente la has declarado pero no le has hecho el new es por eso que


te
lanza ese error.

Saludos

"Omar Flores" escribió en el mensaje
news:
> Hola que tal, tengo un problema al tratar de eliminar un registro.
>
> Tengo una forma con un TabControl y varios TabPages, en el TabPage
> correspondiente
> a las bajas tengo lo siguiente.
>
>
> Declaracion de variables
>
> Public Class frmProveedores
> Inherits System.Windows.Forms.Form
>
> #Region " Windows Form Designer generated code "
>
> Dim daBProveedor As SqlClient.SqlDataAdapter
> Dim dsBProveedor As New DataSet
> Dim drBProveedor As DataRow
> Dim dtBProveedor As DataTable = New DataTable
>
>
> -
>
> Private Sub tpBaja_Layout(ByVal sender As Object, ByVal e As
> System.Windows.Forms.LayoutEventArgs) Handles tpBaja.Layout
> txtBRFC.Focus()
> Dim dc(0) As DataColumn
>
> Try
> daBProveedor = New SqlClient.SqlDataAdapter("Select * from
> Proveedor", conn)
> daBProveedor.Fill(dtBProveedor)
> dc(0) = dtBProveedor.Columns("RFC_Proveedor")
> dtBProveedor.PrimaryKey = dc
> Catch ex As Exception
> MsgBox("Error: " & ex.Message)
> End Try
>
> End Sub
>
> ' Aqui lo unico que hago es Llenar la tabla y establecer la columna de


la
> llave primaria.
>
>
> Ahora tengo un botón de busqueda que manda llamar a un Procedimiento
llamado
> BuscaBaja, el cual tiene el sig. código.
>
>
> Private Sub BuscaBaja()
> Dim busca(0) As Object
> busca(0) = txtBRFC.Text
> drBProveedor = dtBProveedor.Rows.Find(busca)
>
> txtBRFC.Text = drBProveedor("RFC_Proveedor").ToString
> txtBNombre.Text = drBProveedor("Nombre").ToString
> txtBDireccion.Text = drBProveedor("Direccion").ToString
> cbBCiudad.Text = drBProveedor("Ciudad").ToString
> txtBTelefono.Text = drBProveedor("Telefono").ToString
> End Sub
>
> Aqui le mando el parámetro del RFC, si lo encuentra despliega el


contenido
> de los demas campos.
> (hasta aquí no tengo ningun problema)
>
>
> Y por último tengo un botón que manda llamar a un procedimiento llamado
> Eliminar, el cual tiene el sig. código.
>
>
> Private Sub Eliminar()
> Dim cbBProveedor As SqlClient.SqlCommandBuilder
> Try
> cbBProveedor = New SqlClient.SqlCommandBuilder(daBProveedor)
> dsBProveedor.Tables("Proveedor").Rows.Remove(drBProveedor)
'(*)
> daBProveedor.DeleteCommand = cbBProveedor.GetDeleteCommand
> daBProveedor.Update(dsBProveedor, "Proveedor")
> dsBProveedor.Tables("Proveedor").AcceptChanges()
> daBProveedor.DeleteCommand.Connection.Close()
> MsgBox("Registro Eliminado ")
> Catch ex As SqlClient.SqlException
> MsgBox("Ocurrio el siguiente error: " & ex.Message)
> Catch exc As Exception
> MsgBox("Ocurrio el siguiente error: " & exc.Message)
> End Try
>
> End Sub
>
> Aqui pretendo eliminar el registro que buscamos anteriormente, pero me
marca
> el Sig. error:
>
> referencia a Objeto no establecida como instancia de un objeto (*)
>
>
> Espero y me puedan decir que es lo que estoy haciendo mal y/o
proporcionarme
> algúna otra alternativa
>
> Por su ayuda, muchas gracias.
>
>


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