Botón de eliminar no funciona

Son una novata en el tema y gracias de antemano,
bueno haber si me explico, trabajo con visual 2008 y sql server 2000 en lenguaje visual basic, tengo un gridview el cual lleno con un datasource lo que quiero hacer es agregar una columna con un botón que elimine de acuerdo a la fila en la que se encuentra, estoy intentando con una columna template y ahí agregar el botón pero el problema es que no se como pasarle el parámetro de la fila que quiero eliminar el id por ejemplo ¿? Este es mi código del botón
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Dim pCodigo As SqlParameter
row = GridView1.SelectedRow
Try
conn = New SqlConnection(conexion)
conn.Open()
cmd = New SqlCommand("sp_EliminarEmpresa", conn)
cmd.CommandType = CommandType.StoredProcedure
pCodigo = New SqlParameter("@codigo", SqlDbType.Int)
pCodigo.Value = txtCodigo.Text ' de momento tomo el parametro de aki
cmd.Parameters.Add(pCodigo)
cmd.ExecuteNonQuery()
lblResultado.Text = "Empresa ha sido eliminada con exito!!!"
LimpiaCampos()
GridView1.DataBind()
chkActivo.Checked = False
txtActivo.Text = "0"
txtEmpresa.ReadOnly = False
conn.Close()
Catch ex As Exception
lblResultado.Text = "No se puede eliminar la empresa"
End Try
esta linea es la que deberia pasar el parametro pero de da un error
pCodigo.Value = row.Cells(0).Text
Este es el error bueno la excepción :Referencia a objeto no establecida como instancia de un objeto.

1 respuesta

Respuesta
El gridview tiene unos botones de eliminar, select, y actualizar que solo hay que activarlos
Utiliza esos y es mejor para saber que fila esta seleccionada, lo haces con e.commandargument
Hola gracias por contestar tan rapido, si he intentado utilizar los del grid pero el commandargument solo borra del grid no de la base de datos, o no se como enlazarlo ¿?
Ayuda por favor, un ejemplo o algo así
Tienes que ejecutar la sentencia DELETE para que se borre el registro de la base de datos
Si lo hago esta alamcenado en un estore procedure que recibe un parámetro (el id)se supone ahí es donde bebería rescatar el valor a eliminar pero no se como ¿?
cmd = New SqlCommand("sp_EliminarEmpresa", conn)
Ayuda por favor estoy desesperada, he intentado muchas soluciones y ninguna me funciona el autogeneredeletebutton requiere de todas las llaves primarias pero no no requiero mostrarlas en en grid y aunque si las traiga pero las ponga como invisibles de todos modos no elimina las tengo que mostrar para que elimine y no quiero que el usuario vea esos campos,
Otra opción que intente fui en en evento row_deleting y pasarle el valor por medio del datakeyname pero tampoco funciono, me da el mismo error "Referencia a objeto no establecida como instancia de un objeto."
El comando o instrucción sql seria algo como: "sp_EliminarEmpresa " & codigoempresa ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas