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