INSTITUTO SUPERIOR TECNOLOGICO KHIPU
Curso : Herramientas de Desarrollo II
Docente: Lic. Oscar Añazco Durand
Tema : Mantenimiento de Tablas usando Datarow
1) Crear la interfaz
1) Escribir el siguiente código en el evento load del formulario
Private Sub FrmSQL_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Dim oConexion As New SqlConnection()
' pasar la cadena de conexión
oConexion.ConnectionString = "server=(local);" & _
"database=BDBiblioteca;uid=sa;pwd=;"
'abrir conexión
'oConexion.Open()
' crear adaptador
Me.oDataAdapter = New SqlDataAdapter("SELECT * FROM Tusuario", _
oConexion)
' crear commandbuilder
Dim oCommBuild As SqlCommandBuilder = New SqlCommandBuilder(oDataAdapter)
' crear dataset
Me.oDataSet = New DataSet()
oConexion.Open()
' llenar con el adaptador el dataset
Me.oDataAdapter.Fill(oDataSet, "Tusuario")
oConexion.Close()
' establecer el indicador del registro
' a mostrar de la tabla
Me.iPosicFilaActual = 0
' cargar columnas del registro en
' los controles del formulario
Me.CargarDatos()
PictureBox1.ImageLocation = TextBox10.Text
End Sub
INSTITUTO SUPERIOR TECNOLOGICO KHIPU
Curso : Herramientas de Desarrollo II
Docente: Lic. Oscar Añazco Durand
Tema : Mantenimiento de Tablas usando Datarow
2) Crear un procedimiento para cargar datos
Private Sub CargarDatos()
' obtener un objeto con la fila actual
Dim oDataRow As DataRow
oDataRow = Me.oDataSet.Tables("Tusuario").Rows(Me.iPosicFilaActual)
' cargar los controles del formulario con
' los valores de los campos del registro
Me.Txtid.Text = oDataRow("ID_Usuario")
Me.Txtnom.Text = oDataRow("Nombre")
Me.Txtape.Text = oDataRow("apellidos")
Me.Txtedad.Text = oDataRow("edad")
Me.Txtdireccion.Text = oDataRow("direccion")
Me.Txtdistrito.Text = oDataRow("distrito")
Me.Txttelefono.Text = oDataRow("telefono")
Me.Txtestado.Text = oDataRow("estado")
Me.Txtfechaingreso.Text = oDataRow("fechaingreso")
Me.TextBox10.Text = oDataRow("foto")
'Me.PictureBox1.Image = oDataRow("foto")
' mostrar la posición actual del registro
' y el número total del registros
Me.LblRegistro.Text = "Registro: " & _
Me.iPosicFilaActual + 1 & " de " & _
Me.oDataSet.Tables("Tusuario").Rows.Count
End Sub
3) escribir el siguiente código en los botones de mantenimiento
¾ Evento click del boton numevo
Private Sub BtnNuevo_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles BtnNuevo.Click
Me.Txtid.Text = ""
Me.Txtnom.Text = ""
Me.Txtape.Text = ""
Me.Txtedad.Text = ""
Me.Txtdireccion.Text = ""
Me.Txtdistrito.Text = ""
Me.Txttelefono.Text = ""
Me.Txtestado.Text = ""
Me.Txtfechaingreso.Text = ""
Me.Txtnom.Focus()
End Sub
¾ Evento click del boton guardar
Private Sub BtnGuardar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles BtnGuardar.Click
Dim oDataRow As DataRow
' obtener un nuevo objeto fila de la tabla del dataset
oDataRow = Me.oDataSet.Tables("TUsuario").NewRow()
' asignar valor a los campos de la nueva fila
oDataRow("ID_Usuario") = Me.Txtid.Text
oDataRow("Nombre") = Me.Txtnom.Text
oDataRow("apellidos") = Me.Txtape.Text
oDataRow("edad") = Me.Txtedad.Text
oDataRow("direccion") = Me.Txtdireccion.Text
oDataRow("distrito") = Me.Txtdistrito.Text
INSTITUTO SUPERIOR TECNOLOGICO KHIPU
Curso : Herramientas de Desarrollo II
Docente: Lic. Oscar Añazco Durand
Tema : Mantenimiento de Tablas usando Datarow
oDataRow("telefono") = Me.Txttelefono.Text
oDataRow("estado") = Me.Txtestado.Text
oDataRow("fechaingreso") = Me.Txtfechaingreso.Text
oDataRow("foto") = Me.TextBox10.Text
' añadir el objeto fila a la colección de filas
' de la tabla del dataset
Me.oDataSet.Tables("Tusuario").Rows.Add(oDataRow)
Me.oDataAdapter.Update(Me.oDataSet, "Tusuario")
MsgBox("Los datos de guardaron satisfactoriamente",
MsgBoxStyle.Information, "Aviso")
End Sub
¾ Evento click del boton Modificar
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("TUsuario").Rows(Me.iPosicFilaActual)
' modificar las columnas de la fila
' excepto la correspondiente al identificador cliente
oDataRow("ID_Usuario") = Me.Txtid.Text
oDataRow("Nombre") = Me.Txtnom.Text
oDataRow("apellidos") = Me.Txtape.Text
oDataRow("edad") = Me.Txtedad.Text
oDataRow("direccion") = Me.Txtdireccion.Text
oDataRow("distrito") = Me.Txtdistrito.Text
oDataRow("telefono") = Me.Txttelefono.Text
oDataRow("estado") = Me.Txtestado.Text
oDataRow("fechaingreso") = Me.Txtfechaingreso.Text
Me.oDataAdapter.Update(Me.oDataSet, "Tusuario")
End Sub
¾ Evento click del boton Borrar
Private Sub BtnBorrar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles BtnBorrar.Click
Dim oDataRow As DataRow
' obtener el objeto fila, de la tabla del dataset
' en el que estamos posicionados
oDataRow = Me.oDataSet.Tables("TUsuario").Rows(Me.iPosicFilaActual)
oDataRow.Delete() ' borrar la fila
' mediante el método GetChanges(), obtenemos una tabla
' con las filas borradas
Dim oTablaBorrados As DataTable
TablaBorrados =
Me.oDataSet.Tables("Tusuario").GetChanges(DataRowState.Deleted)
' actualizar en el almacén de datos las filas borradas
Me.oDataAdapter.Update(oTablaBorrados)
' confirmar los cambios realizados
Me.oDataSet.Tables("TUsuario").AcceptChanges()
' reposicionar en la primera fila
'Me.btnPrimero.PerformClick()
End Sub
INSTITUTO SUPERIOR TECNOLOGICO KHIPU
Curso : Herramientas de Desarrollo II
Docente: Lic. Oscar Añazco Durand
Tema : Mantenimiento de Tablas usando Datarow
¾ Evento click del boton Salir
Private Sub btnsalir_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button10.Click
Me.Close()
End Sub
4) Escribir el siguiente codigo en los Botones de navegación
¾ Evento click del boton inicio (<<)
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
' establecer el marcador de registro en el primero
Me.iPosicFilaActual = 0
Me.CargarDatos()
PictureBox1.ImageLocation = TextBox10.Text
End Sub
¾ Evento click del boton ultimo (>>)
Private Sub Button4_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button4.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("Tusuario").Rows.Count - 1)
Me.CargarDatos()
PictureBox1.ImageLocation = TextBox10.Text
End Sub
¾ Evento click del boton siguiente (>)
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
' si estamos en el último registro,
' no hacer movimiento
If Me.iPosicFilaActual = _
(Me.oDataSet.Tables("Tusuario").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.CargarDatos()
PictureBox1.ImageLocation = TextBox10.Text
End If
End Sub
INSTITUTO SUPERIOR TECNOLOGICO KHIPU
Curso : Herramientas de Desarrollo II
Docente: Lic. Oscar Añazco Durand
Tema : Mantenimiento de Tablas usando Datarow
¾ Evento click del boton atrás (<)
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.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.CargarDatos()
PictureBox1.ImageLocation = TextBox10.Text
End If
End Sub
5) Ingresar en el siguiente codigo en el evento click del boton
examinar
Private Sub Button11_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button11.Click
If OpenFileDialog1.ShowDialog =
Windows.Forms.DialogResult.OK Then
TextBox10.Text = OpenFileDialog1.FileName
PictureBox1.ImageLocation = TextBox10.Text
End If
End Sub