Foros del Web » Programación para mayores de 30 ;) » .NET »

Tengo un problemita con el UPDATE

Estas en el tema de Tengo un problemita con el UPDATE en el foro de .NET en Foros del Web. Hola, de nuevo he creado una base de datos en sql server 2000, pero puede navegar entre datos de una tabla eso esta bien, pero ...
  #1 (permalink)  
Antiguo 20/08/2006, 17:13
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 18 años, 6 meses
Puntos: 5
Pregunta Tengo un problemita con el UPDATE

Hola, de nuevo he creado una base de datos en sql server 2000, pero puede navegar entre datos de una tabla eso esta bien, pero al momento de Eliminar, Actualizar y Modificar, no Guarda los cambios por decirlo asi. ¿Que es lo que pasa?

Imports System.Data.SqlClient


Public Class Form1
Inherits System.Windows.Forms.Form
'Variables a nivel de clase para
'la manipulación de datos
Private oDataAdapter As SqlDataAdapter
Private oDataSet As DataSet
Private iPosicFilaActual As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Crea conexion
Dim oConexion As SqlConnection
oConexion = New SqlConnection
oConexion.ConnectionString = "Server=(local);" & "Database=Registros;uid=sa;pwd=;"

'Crea el adaptador
Me.oDataAdapter = New SqlDataAdapter("SELECT * FROM TablaRegistros", oConexion)
'Crea commandbuiler
Dim oCommBuild As SqlCommandBuilder = New SqlCommandBuilder(oDataAdapter)
'Crea el dataset
Me.oDataSet = New DataSet

oConexion.Open()
'llena con el adaptador el dataset
Me.oDataAdapter.Fill(oDataSet, "TablaRegistros")
oConexion.Close()

'establecer el indicador del registro
' a mostrar de la tabla
Me.iPosicFilaActual = 0
'Carga las columnas del registro en
'los controles del formulario
Me.CargaDatos()
End Sub

Private Sub CargaDatos()
'Obtener un objeto con la fila actual
Dim oDataRow As DataRow
oDataRow = Me.oDataSet.Tables("TablaRegistros").Rows(Me.iPosi cFilaActual)
'Carga los controles del formulario con
'los valores de los campos del registro
Me.txtNombres.Text = oDataRow("Nombres")
Me.txtApellidos.Text = oDataRow("Apellidos")
Me.txtEdad.Text = oDataRow("Edad")
Me.txtTelefono.Text = oDataRow("Telefono")
Me.txtDirreccion.Text = oDataRow("Dirrección")

'Mostrar la posición actual del registro
'y el número total del registro
Me.lblRegistro.Text = "Registro: " & Me.iPosicFilaActual + 1 & " de " & Me.oDataSet.Tables("TablaRegistros").Rows.Count
End Sub

Private Sub btnAvanzar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAvanzar.Click
'Si estamos en el ultimo registro
'no hacer movimiento
If Me.iPosicFilaActual = (Me.oDataSet.Tables("TablaRegistros").Rows.Count - 1) Then
MessageBox.Show("Último Registro")
Else
'Incrementar el marcador de registro
'y actualizar los controles con los
'datos del registro actual
Me.iPosicFilaActual += 1
Me.CargaDatos()
End If
End Sub

Private Sub btnRetroceder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRetroceder.Click
'si estamos en el primer registro
'no hacer movimiento
If Me.iPosicFilaActual = 0 Then
MessageBox.Show("Primer Registro")
Else
'disminuir el marcador de registro
'y actualizar los controles con los
'datos del registro actual
Me.iPosicFilaActual -= 1
Me.CargaDatos()
End If
End Sub

Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrimero.Click
'Establece el marcador de registro en el primero
Me.iPosicFilaActual = 0
Me.CargaDatos()
End Sub

Private Sub btnUltimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUltimo.Click
'establecer el marcador de registro en el primero
'obteniendo el número de filas que contiene la tabla menos uno
Me.iPosicFilaActual = (Me.oDataSet.Tables("TablaRegistros").Rows.Count - 1)
Me.CargaDatos()
End Sub

Private Sub btnInsertar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsertar.Click
Dim oDataRow As DataRow
'obtener un nuevo objeto fila de la tabla del dataset
oDataRow = Me.oDataSet.Tables("TablaRegistros").NewRow()
'Asignar valor a los campos de la nueva fila
oDataRow("Nombres") = Me.txtNombres.Text
oDataRow("Apellidos") = Me.txtApellidos.Text
oDataRow("Edad") = Me.txtEdad.Text
oDataRow("Telefono") = Me.txtTelefono.Text
oDataRow("Dirrección") = Me.txtDirreccion.Text
'Añadir el objeto fila a la colección de filas
'de la tabla del dataset
Me.oDataSet.Tables("TablaRegistros").Rows.Add(oDat aRow)
End Sub

Private Sub btnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModificar.Click
Dim oDataRow As DataRow
'Obtener el objeto fila de la tabla del dataset
'en el que estamos posicionados
oDataRow = Me.oDataSet.Tables("TablaRegistros").Rows(Me.iPosi cFilaActual)

'Modificar las columnas de la fila
'excepto la correspondiente al identificador tablaregistros
oDataRow("Nombres") = Me.txtNombres.Text
oDataRow("Apellidos") = Me.txtApellidos.Text
oDataRow("Edad") = Me.txtEdad.Text
oDataRow("Telefono") = Me.txtTelefono.Text
oDataRow("Dirrección") = Me.txtDirreccion.Text
End Sub


Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActualizar.Click
'Actualizar los cambios realizados en el dataset
'contra la base de datos real
Me.oDataAdapter.Update(Me.oDataSet, "TablaRegistros")
End Sub

Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
Dim oDataRow As DataRow
'obtener el objeto fila, de la fila del dataset
'en el que estamos posicionados
oDataRow = Me.oDataSet.Tables("TablaRegistros").Rows(Me.iPosi cFilaActual)
oDataRow.Delete() 'Borra la fila
'mediante el método GetChanges(), obtenemos una tabla
'con las filas borradas
Dim oTablaBorrados As DataTable
oTablaBorrados = Me.oDataSet.Tables("TablaRegistros").GetChanges(Da taRowState.Deleted)
'Actualizar en el almacén de datos las filas borradas
Me.oDataAdapter.Update(oTablaBorrados)
'Confirma los cambios realizados
Me.oDataSet.Tables("TablaRegistros").AcceptChanges ()
'reposicionar en la primera fila
Me.btnPrimero.PerformClick()
End Sub
End Class

Voy a agradecer mucho su gran ayuda. Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:57.