Está en la página 1de 4

Imports System.Data.

SqlClient '<- Para usar Base de Datos SQL Server

Public Class frmHOME


Dim oCN As New SqlConnection
Dim oCMD As New SqlCommand
Dim sCadenaConexion As String

Private Sub frmHOME_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
DiseñoINICIAL()

'Aspecto y Apariencia del DataGridView: grdListado


grdListado.MultiSelect = False
grdListado.SelectionMode = DataGridViewSelectionMode.FullRowSelect
grdListado.AllowUserToAddRows = False
grdListado.AllowUserToDeleteRows = False
grdListado.ReadOnly = True
actualizartabla()
End Sub

Sub DiseñoINICIAL()
Me.Text = "Autor: ISRAEL HORNA | UCV Sede Lima Norte"
Me.BackColor = Color.Khaki
Me.MaximizeBox = True
Me.btnActualizar.Enabled = True
Me.btnGuardar.Image = My.Resources.pngRegsitroGuardar
Me.btnGuardar.TextImageRelation = TextImageRelation.ImageBeforeText
End Sub

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Comprobamos la Conexión a la DB: Agendajpp
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function Conectar() As SqlConnection
sCadenaConexion = "Data Source=(local);" +
"Initial Catalog=AgendaHMS;" +
"Integrated Security=True"

Try
oCN.ConnectionString = sCadenaConexion
Catch ex As Exception
MessageBox.Show("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
"Error al Conectarse a la Base de Datos " +
vbNewLine +
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
ex.Message,
"Error Inesperado",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Exclamation)
End Try

Return (oCN)

End Function
Function ListarRegistrosALL() As DataTable
Dim oDT As New DataTable
Try
oCMD = New SqlCommand("SELECT * FROM [Mis Contactos]", Conectar)
oCMD.Connection.Open()
oDT.Load(oCMD.ExecuteReader)
oCMD.Connection.Close()
Catch ex As Exception
MessageBox.Show("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
"Error al Cargar Tabla" + vbNewLine +
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
ex.Message,
"Error Inesperado",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Exclamation)
End Try
Return oDT
End Function
Sub actualizartabla()
ListarRegistrosALL()

grdListado.DataSource = ListarRegistrosALL()
lblMensaje.Text = $"Existen: {grdListado.Rows.Count} registros
encontrados"
End Sub

Private Sub btnActualizar_Click(sender As Object, e As EventArgs)


actualizartabla()
End Sub

Private Sub grdListado_SelectionChanged(sender As Object, e As EventArgs)


Handles grdListado.SelectionChanged
If (grdListado.Rows.Count > 0) Then
With grdListado
If (.CurrentRow.Index <> -1) Then
txtID.Text = .Rows(.CurrentRow.Index).Cells("ID").Value
txtNombre.Text =
.Rows(.CurrentRow.Index).Cells("Nombre").Value
txtEdad.Text = .Rows(.CurrentRow.Index).Cells("Edad").Value
chkVaron.Checked =
.Rows(.CurrentRow.Index).Cells("Varon").Value
End If
End With
End If
End Sub

Private Sub chkVaron_CheckedChanged(sender As Object, e As EventArgs) Handles


chkVaron.CheckedChanged
chkVaron.Text = If(chkVaron.Checked = True, "si", "no")
End Sub
Function existeID(sID As Integer) As Boolean
Dim bDevuelto As Boolean

Try
Dim ssql As String = $"SELECT COUNT (*) FROM [Mis Contactos] WHERE ID
={sID}"
oCMD = New SqlCommand(ssql, Conectar)
oCMD.Connection.Open()
bDevuelto = (CInt(oCMD.ExecuteScalar) > 0)
oCMD.Connection.Close()
Catch ex As Exception
MessageBox.Show("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
"Error al Cargar Tabla" + vbNewLine +
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
ex.Message,
"Error Inesperado",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Exclamation)
End Try
Return (bDevuelto)
End Function

Function EstaSeguro() As Boolean

Dim nRpta As Integer = MessageBox.Show("¿Está Ud. Seguro de Eliminar este


Registro.?",
"Sr. Usuario.!",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2)

Return (nRpta = vbYes)

End Function
Function ELIMINAR(sID As Integer) As Boolean
Dim bDevuelto As Boolean

Try
Dim ssql As String = $"DELETE [Mis Contactos] WHERE ID={sID}"
oCMD = New SqlCommand(ssql, Conectar)
oCMD.Connection.Open()
bDevuelto = (oCMD.ExecuteNonQuery > 0)
oCMD.Connection.Close()
Catch ex As Exception
MessageBox.Show("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
"Error al Cargar Tabla" + vbNewLine +
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
vbNewLine +
ex.Message,
"Error Inesperado",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Exclamation)

End Try
Return (bDevuelto)
End Function

Private Sub btneliminar_Click(sender As Object, e As EventArgs) Handles


btneliminar.Click
Dim strID As Integer = CInt(txtID.Text)

If existeID(strID) Then
If EstaSeguro() Then
Dim bOkey As Boolean = ELIMINAR(strID)
If (bOkey) Then actualizartabla()
End If
Else
lblMensaje.Text = $"NO EXISTE ese usuario (ID={strID})"
End If
End Sub

Private Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles


btnNuevo.Click
txtID.Text = NuevoID()
txtNombre.Clear()
txtEdad.Text = String.Empty
chkVaron.Checked = False

txtNombre.Focus()
End Sub
Function NuevoID() As Integer
Dim nNewID As Integer

Dim oCMD As New SqlCommand


Dim strSQL As String = "SELECT MAX(ID) FROM [mis Contactos]"
oCMD = New SqlCommand(strSQL, Conectar)

oCMD.Connection.Open()
nNewID = CInt(oCMD.ExecuteScalar) + 1
oCMD.Connection.Close()

Return (nNewID)
End Function

Private Sub btnGuardar_Click(sender As Object, e As EventArgs) Handles


btnGuardar.Click
Dim sID As Integer = Int(txtID.Text)
Dim sNombre As String = txtNombre.Text
Dim nEdad As Byte = CByte(txtEdad.Text)
Dim BVaron As Boolean = chkVaron.Checked
If existeID(sID) Then
'modificamos elregistro existente: UPDATE

Else
'agregamos el registro nuevo
End If
End Sub
End Class

También podría gustarte