Modificar registro de un DataGrid contra Oracle
Una consulta:
Como hago para realizar una modificacion de datos en un registro de un DataGrid y se actualicen los cambios en la base de datos, teniendo una tabla con base en Oracle?
Les paso una parte de codigo para que vean lo que se realizo al momento:
Private Sub ActualizaGrid()
'toma el dataset guardado en la sesion
Dim ds As DataSet = Session.Item("DS")
'muestra la vista por defecto
DataGrid1.DataSource = ds.Tables(0).DefaultView
OracleDataAdapter1.Fill(DataSet11)
'llena la grilla
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
'este es el campo que vamos a utilizar para encontrar
'dentro del dataset, el registro que estamos modificando en la grilla
Dim id As String = e.Item.Cells(1).Text
'estos son los dos campos que vamos a permitir modificar
Dim Compania As TextBox = CType(e.Item.Cells(2).Controls(0), TextBox)
Dim Contacto As TextBox = CType(e.Item.Cells(3).Controls(0), TextBox)
'obtiene el dataset de la session del usuario
Dim ds As DataSet = Session.Item("DS")
'busca en el dataset, la fila que fue modificada
Dim rw As DataRow = ds.Tables("T_residuos").Rows.Find(id)
'asumimos que lo encontro (como es la session, deberia encontrarlo siempre)
'y entonces iniciamos la modificacion sobre el dataset
rw.BeginEdit()
rw.Item("usuario_alta") = Compania.Text
rw.Item("nro_contenedor") = Contacto.Text
rw.EndEdit()
'guardamos el dataset actualizado en la session del usuario
'sobreescribiendo al anterior
Session.Add("DS", ds)
OracleDataAdapter1.Update(ds)
'desactivamos el modo edicion
DataGrid1.EditItemIndex = -1
OracleDataAdapter1.Fill(DataSet11)
'actualizamos nuevamente la grilla
ActualizaGrid()
End Sub
Bueno, espero se entienda y desde ya muchas gracias....Espero una respuesta
Como hago para realizar una modificacion de datos en un registro de un DataGrid y se actualicen los cambios en la base de datos, teniendo una tabla con base en Oracle?
Les paso una parte de codigo para que vean lo que se realizo al momento:
Private Sub ActualizaGrid()
'toma el dataset guardado en la sesion
Dim ds As DataSet = Session.Item("DS")
'muestra la vista por defecto
DataGrid1.DataSource = ds.Tables(0).DefaultView
OracleDataAdapter1.Fill(DataSet11)
'llena la grilla
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
'este es el campo que vamos a utilizar para encontrar
'dentro del dataset, el registro que estamos modificando en la grilla
Dim id As String = e.Item.Cells(1).Text
'estos son los dos campos que vamos a permitir modificar
Dim Compania As TextBox = CType(e.Item.Cells(2).Controls(0), TextBox)
Dim Contacto As TextBox = CType(e.Item.Cells(3).Controls(0), TextBox)
'obtiene el dataset de la session del usuario
Dim ds As DataSet = Session.Item("DS")
'busca en el dataset, la fila que fue modificada
Dim rw As DataRow = ds.Tables("T_residuos").Rows.Find(id)
'asumimos que lo encontro (como es la session, deberia encontrarlo siempre)
'y entonces iniciamos la modificacion sobre el dataset
rw.BeginEdit()
rw.Item("usuario_alta") = Compania.Text
rw.Item("nro_contenedor") = Contacto.Text
rw.EndEdit()
'guardamos el dataset actualizado en la session del usuario
'sobreescribiendo al anterior
Session.Add("DS", ds)
OracleDataAdapter1.Update(ds)
'desactivamos el modo edicion
DataGrid1.EditItemIndex = -1
OracleDataAdapter1.Fill(DataSet11)
'actualizamos nuevamente la grilla
ActualizaGrid()
End Sub
Bueno, espero se entienda y desde ya muchas gracias....Espero una respuesta