Cita: Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
cargar_grid()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.UpdateCommand
SqlConnection1.Open()
Dim codigo As String
Dim nombre As String
Dim asignatura As String
Dim especialidad As String
'Response.Write("IMANOL")
Dim myTextBox As TextBox
' Este es el valor de la clave primaria: Recuperado del DataKey, dado que se trata de un campo de sólo lectura
If e.Item.ItemIndex > 0 Then
Dim codigos As String = DataGrid1.DataKeys.Item(e.Item.ItemIndex).ToString
'Response.Write(e.Item.ItemIndex)
myTextBox = e.Item.FindControl("txt_asig")
asignatura = myTextBox.Text
myTextBox = e.Item.FindControl("txt_espe")
especialidad = myTextBox.Text
'coger las 3 claves a las ke le puesto el alias y hacer lo mismo ke con los demas parametros
'aunque no los displaye luego
myTextBox = e.Item.FindControl("editar_codigo")
codigo = myTextBox.Text
myTextBox = e.Item.FindControl("editar_nombre")
nombre = myTextBox.Text
End If
' Ahora ejecute el procedimiento almacenado
Dim cmd As New SqlClient.SqlCommand("actualizar_materias", SqlConnection1)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New SqlClient.SqlParameter("@codigo_asignatura", SqlDbType.Char, 5)).Value = asignatura
cmd.Parameters.Add(New SqlClient.SqlParameter("@codigo_materia", SqlDbType.Char, 6)).Value = codigo
cmd.Parameters.Add(New SqlClient.SqlParameter("@codigo_especialidad", SqlDbType.Char, 5)).Value = especialidad
cmd.Parameters.Add(New SqlClient.SqlParameter("@nombre", SqlDbType.VarChar, 50)).Value = nombre
cmd.ExecuteNonQuery()
'Response.Write("IMANOL")
'cmd.Parameters.Add("@codigo_materia", SqlDbType.Char, 5) = codigo
'cmd.Parameters.Add("@nombre", SqlDbType.VarChar, 50) = nombre
End Sub
la tabla tiene esos cuatro campos ,que se llaman igual que los parametros, con las tres claves principales de la tabla he hecho un alias llamado "codigos"
y txt_asig,txt_espe,editar nombre y editar_codigo son los id de los texbox editables pero en el datagrid tengo visibles solo los campos de codigo de materia y nombre de materia,osea los id editar_codigo y editar_nombre.
he conseguido ya que me recupere la linea cuando le doy al evento editar y que me salgan los textbox para introducir los datos para actualizar pero cuando le doy a actualizar se llena la barra no se rompe ni da error pero luego en la base de datos (sqlserver) no actualiza nada,
nose si ustedes igual ven algo ke tengo mal,porke me esta dando dolor de cabeza ya esto llevo dos dias bloqueado.
gracias de antemano