Sei sulla pagina 1di 19

 Friki Bloggeo 

Home VB.NET Programación Orient ada a Objet os en VB.NET con base de dat os Access 2010

Programación Orientada a Objetos en VB.NET con


base de datos Access 2010
POO Programacion VB.NET Anthony Medina 22:14 0 comentarios

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Ent rada Relacionada: El Pat rón Modelo-Vist a-Cont rolador y Programación Orient ada a Objet os en PHP Profesional

Como bien es sabido, la Programación orient ada a objet os es una met odología de programación la cual se basa en
modelar el mundo real y ha ganado import ancia significat iva en los últ imos t iempos, en est e t ipo de programación
se t rabaja con objet os en el sist ema que int eract uan unos con ot ros. No es para nada difícil de ent ender si sabemos
reconocer cuales son cada una de esas ent idades que forman part e de un problema a resolver. Sin mas a que
ahondar, cont inuamos con un breve ejemplo sobre el cual ya hemos venido t rabajando en t ut oriales ant eriores,
como la programación orient ada a objet os en PHP, que es básicament e lo mismo, pero para efect os de est e
t ut orial, usaremos el maravilloso Visual St udio y su VB.NET T enemos la clase "persona", objet o de la vida real que en
nuest ro caso, t iene una cédula de ident idad (Numero de ident ificación único), nombres, apellidos, edad y sexo, y las
funciones de la misma serán Regist rar, Modificar, Buscar y Eliminar.

Ahora, que ingredientes necesitamos para empezar?

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
1. Un formulario (frm_ persona) Aplicación de Windows Forms
2. 5 Labels (Cedula, Nombres, Apellidos, Edad, Sexo)
3. 5 T ext Box (t xt _ cedula, t xt _ nombres, t xt _ apellidos, t xt _ edad, t xt _ sexo)
4. 4 Bot ones (bt n_ regist rar, bt n_ modificar, bt n_ buscar, bt n_ eliminar)

Una vez que t engamos nuest ro formulario armado de la siguient e manera, proseguimos con lo siguient e:

Crear y conectar a la base de datos

Vamos a Microsoft Office Access 2010 (f unciona para Access 2007 o 2013) y creamos una nueva base de dat os,
a la cual llamaremos bd.accdb y cont endra dent ro de ella la t abla persona. Su ubicación será la carpet a "Debug" de
t u proyect o la cual se genera a la hora de compilarlo, sus est ruct ura quedará de la siguient e manera.

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Una vez realizado est o, volvemos a nuest ro Visual St udio, y vamos al menu Proyecto > Agregar Modulo y
agregamos un nuevo modulo el cual llamaremos conexion.vb, borra t odo el codigo que pueda haber, y copia y pega
el siguient e.

Module conexion
Public conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source
=bd.accdb;Persist Security Info=False")
Public cmd As New OleDb.OleDbCommand
Public dr As OleDb.OleDbDataReader
Public sql As String

Public Sub conectarse()


Try
conn.Open()
Catch ex As Exception
If ex.ToString.Contains("No se pudo encontrar") Then
MsgBox("La base de datos a la que intentas conectar no se encuentra en el d
irectorio, por favor, verifica e intenta nuevamente", MsgBoxStyle.Critical, "Error")
End If

End Try
End Sub
End Module

El t ext o en Rojo será el nombre de nuest ra base de dat os solament e, siempre y cuando est e dent ro de la carpet a
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
"Debug", si est e archivo no se encuent ra allí, debes colocar la rut a ent era de su respect iva ubicación, yo
personalment e recomiendo t rabajar con los archivos dent ro de la carpet a del proyect o en cuest ión.

Crear el Modulo de Funciones

Crearemos un nuevo modulo en donde se int roducirán ciert as funciones que se suponen, deberían ser usadas en
t odo el proyect o, y por t al mot ivo, se globaliza de t al modo, en est e caso, el modulo se llamara f unciones.vb y solo
cont endrá el siguient e código

Module funciones
Public Sub campoVacio(ByRef cadena As TextBox, ByRef campo As String)
MsgBox("El campo de " + campo + " esta vacio")
cadena.Select()
End Sub
End Module

Crear la clase del Objeto

Ahora, es moment o de crear el codigo de la clase, objet o o ent idad "persona'

Nos dirigimos al menu Proyect o > Agregar clase, con est o agregaremos una nueva clase al proyect o, la cual,
debemos nombrar como persona.vb, y la misma cont endra el siguient e codigo

Public Class persona


Public Property cedula As String
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Public Property nombres As String
Public Property apellidos As String
Public Property edad As Integer
Public Property sexo As String

Public Sub registrarPersona(cedula, nombres, apellidos, edad, sexo)


cmd.CommandType = CommandType.Text
cmd.Connection = conn

sql = "INSERT INTO persona(cedula,nombres,apellidos,edad,sexo) VALUES ('" & cedula.


ToString.ToUpper & "','" & nombres.ToString.ToUpper & "','" & apellidos.ToString.ToUpper &
"','" & edad & "','" & sexo.ToString.ToUpper & "')"
cmd.CommandText = sql
Try
cmd.ExecuteNonQuery()
MsgBox("Registro Exitoso", MsgBoxStyle.Information, "Enhorabuena")
Catch ex As Exception
If ex.ToString.Contains("valores duplicados") Then
MsgBox("El numero de identificacion ya esta registrado", MsgBoxStyle.Inform
ation, "Información")
ElseIf ex.ToString.Contains("No coinciden los tipos de datos") Then
MsgBox("El valor introducido no es un dato valido", MsgBoxStyle.Critical, "
Error")
Else
MsgBox(ex.ToString)
End If
End Try
End Sub

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Public Sub modificarPersona(cedula, nombres, apellidos, edad, sexo)
cmd.CommandType = CommandType.Text
cmd.Connection = conn

sql = "UPDATE persona SET nombres = '" & nombres.ToString.ToUpper & "', apellidos =
'" & apellidos.ToString.ToUpper & "', edad = '" & edad.ToString.ToUpper & "', sexo = '" &
sexo.ToString.ToUpper & "' WHERE cedula = '" & cedula & "'"
cmd.CommandText = sql
Try
cmd.ExecuteNonQuery()
MsgBox("Modificado con éxito", MsgBoxStyle.Information, "Enhorabuena")
Catch ex As Exception
If ex.ToString.Contains("No coinciden los tipos de datos") Then
MsgBox("El valor introducido no es un dato valido", MsgBoxStyle.Critical, "
Error")
Else
MsgBox(ex.ToString)
End If
End Try
End Sub

Public Sub buscarPersona(cedula As Object, ByRef cmp_cedula As TextBox, ByRef cmp_nombr


es As TextBox, ByRef cmp_apellidos As TextBox, ByRef cmp_edad As TextBox, ByRef cmp_sexo As
TextBox, ByRef btn_registrar As Button, ByRef btn_modificar As Button, ByRef btn_eliminar
As Button)
cmd.Connection = conn
cmd.CommandType = CommandType.Text

sql = "SELECT * FROM persona WHERE cedula = '" & cedula & "'"
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
cmd.CommandText = sql

Try
dr = cmd.ExecuteReader()
If dr.HasRows Then
btn_eliminar.Enabled = True
btn_modificar.Enabled = True
btn_registrar.Enabled = False
cmp_cedula.Enabled = False
While dr.Read()
cmp_cedula.Text = dr(0).ToString.ToUpper
cmp_nombres.Text = dr(1).ToString.ToUpper
cmp_apellidos.Text = dr(2).ToString.ToUpper
cmp_edad.Text = dr(3).ToString.ToUpper
cmp_sexo.Text = dr(4).ToString.ToUpper
End While
Else
btn_eliminar.Enabled = False
btn_modificar.Enabled = False
btn_registrar.Enabled = True
cmp_cedula.Enabled = True
MsgBox("No hay ningún usuario registrado con la cedula consultada", MsgBoxS
tyle.Critical, "Usuario no registrado")

End If
dr.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
End Sub

Public Sub eliminarPersona(cedula)


cmd.CommandType = CommandType.Text
cmd.Connection = conn

sql = "DELETE FROM persona WHERE cedula = '" & cedula & "'"

cmd.CommandText = sql
Try
cmd.ExecuteNonQuery()
MsgBox("Eliminado con éxito", MsgBoxStyle.Information, "Enhorabuena")
Catch ex As Exception
ex.ToString()
End Try
End Sub

End Class

Establecer las funcionalidades

Lo que t enemos hast a ahora, no es mas que un mont o de codigo "independient e" y una vent ana con un formulario
que no hace absolut ament e nada, pero ahora, llego el t iempo de la acción. Nos vamos a dirigir hast a nuest ro
formulario en su vist a de codigo, borramos cualquier codigo aut ogenerado y pegamos lo siguient e

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Public Class frm_persona

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


conectarse()
Me.btn_modificar.Enabled = False
Me.btn_eliminar.Enabled = False
End Sub

Private Sub btn_registrar_Click(sender As Object, e As EventArgs) Handles btn_registrar


.Click
Dim nueva_persona As New persona

If txt_cedula.Text = "" Then


campoVacio(txt_cedula, "cedula")
ElseIf txt_nombres.Text = "" Then
campoVacio(txt_nombres, "nombres")
ElseIf txt_apellidos.Text = "" Then
campoVacio(txt_apellidos, "apellidos")
ElseIf txt_edad.Text = "" Then
campoVacio(txt_edad, "edad")
ElseIf txt_nombres.Text = "" Then
campoVacio(txt_sexo, "sexo")
Else
nueva_persona.registrarPersona(txt_cedula.Text, txt_nombres.Text, txt_apellidos
.Text, txt_edad.Text, txt_sexo.Text)
End If
End Sub

Private Sub btn_buscar_Click(sender As Object, e As EventArgs) Handles btn_buscar.Click


open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Dim buscar_persona As New persona
If txt_cedula.Text = "" Then
campoVacio(txt_cedula, "cedula")
Else
buscar_persona.buscarPersona(txt_cedula.Text, txt_cedula, txt_nombres, txt_apel
lidos, txt_edad, txt_sexo, btn_registrar, btn_modificar, btn_eliminar)
End If
End Sub

Private Sub btn_eliminar_Click(sender As Object, e As EventArgs) Handles btn_eliminar.C


lick
Dim eliminar_persona As New persona
If txt_cedula.Text = "" Then
campoVacio(txt_cedula, "cedula")
Else
If MsgBox("Estás seguro que deseas eliminar a esta persona", MsgBoxStyle.YesNo,
"Mensaje de confirmación") = MsgBoxResult.Yes Then
eliminar_persona.eliminarPersona(txt_cedula.Text)
End If
End If
End Sub

Private Sub btn_modificar_Click(sender As Object, e As EventArgs) Handles btn_modificar


.Click
Dim modificar_persona As New persona

If txt_cedula.Text = "" Then


campoVacio(txt_cedula, "cedula")
ElseIf txt_nombres.Text = "" Then
campoVacio(txt_nombres, "nombres")
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
ElseIf txt_apellidos.Text = "" Then
campoVacio(txt_apellidos, "apellidos")
ElseIf txt_edad.Text = "" Then
campoVacio(txt_edad, "edad")
ElseIf txt_nombres.Text = "" Then
campoVacio(txt_sexo, "sexo")
Else
modificar_persona.modificarPersona(txt_cedula.Text, txt_nombres.Text, txt_apell
idos.Text, txt_edad.Text, txt_sexo.Text)
modificar_persona.buscarPersona(txt_cedula.Text, txt_cedula, txt_nombres, txt_a
pellidos, txt_edad, txt_sexo, btn_registrar, btn_modificar, btn_eliminar)
End If
End Sub
End Class

Con est o realizado, no queda mas que probar el programa, pulsando la t ecla F5 o yendo al menú Compilar >
Generar Nombre de tu Proyecto, y probar como funcionan cada una de las funciones, es import ant e recalcar en
que analizar un poco cada código no est aría de mas, el secret o de t odo buen programador es ent ender t odas y cada
una de las lineas present es en su proyect o, sin mas que agregar, espero hayan disfrut ado el t ut orial, suert e.

Enlaces para compart ir en t u blog o pagina web.

URL:

ht t p://frikibloggeo.blogspot .com.ar/2015/08/programacion-orient ada-objet os-vb-net -y-acces.ht ml

Enlace con HTML:

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
<a href="ht t p://frikibloggeo.blogspot .com.ar/2015/08/programacion-orient ada-objet os-vb-net -y-acces.ht ml">Pro
gramación Orient ada a Objet os en VB.NET con base de dat os Access 2010</a>

Enlace para Foros:

[url=ht t p://frikibloggeo.blogspot .com.ar/2015/08/programacion-orient ada-objet os-vb-net -y-acces.ht ml]/Program


ación Orient ada a Objet os en VB.NET con base de dat os Access 2010[/url]

Programacion Orient ada a Objet os y la Microsoft WebMat rix 3: El edit or de


est ruct ura Modelo-Vist a-Cont rolador en código para programación web grat uit o
PHP Básico - Programando que lo t iene t odo

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Aún no hay comentarios

Añade un comentario

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
ENTRADAS POPULARES

[2] Crear Una Calculadora Simple En Microsoft Visual Studio 2010 (El Código) Parte I
Continuando Con El Tutorial Sobre Como Crear Una Calculadora En Microsoft Visual Studio 2010, Les Traigo La Segu…

[1] Crear Una Calculadora Simple En Microsoft Visual Studio 2010 (El Diseño)
Figura 1 Me Complace Escribir Mi Primera Entrada Después De Haberles Anunciado Mi Retorno A Escribir De Nuevo E…
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Figura 1 Me Complace Escribir Mi Primera Entrada Después De Haberles Anunciado Mi Retorno A Escribir De Nuevo E…

Ajustar Tu Blog O Pagina Para Que Se Adapte A La Resolución Del Dispositivo En El Que Se
Visualiza
Publicación Relacionada: Crear Tu Propia Versión Móvil De Tu Página Web O Blog Para Un Blogger O Una Persona Q…

Crear Tu Propio Sistema De Comentarios Con MySQL Y PHP


Son Las 1:47 De La Madrugada Y Y Desvelado Trabajando En Esta Publicación Que He Querido Traerles Y Que Se Qu…

Crear Un Web Service API Rest Con PHP Y MySQL


Los API Rest Son En La Actualidad La Nueva Manera De Trabajar Los Sistemas Web, Los Mismos Se Encargan De Se…

COMENTARIOS RECIENTES

TAGS
51 11 8 28 10 19 11
BLOGGER CODIGOS COMENT ARIOS CSS GADGET S GENERADORES GOOGLE

50 8 4 19 6 9 4
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
HT ML IMAGENES JAVASCRIPT PAGINAS PHP PLANT ILLAS PROGRAMACION

22 4 47 3 5
SCRIPT S SIDEBAR T RUCOS VB.NET WORDPRESS

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Sobre Mi
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Mi nombre es Ant hony, soy est udiant e de Ingeniería
en Informát ica. Amant e de los idiomas, y la
programación. Venezolano, con orgullo y
Administ rador de est e Blog

FACEBOOK @AIMT ONE

© 2016 Copyright Friki Bloggeo Powered by Blogger Template Design by Fostrap.com

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com

Potrebbero piacerti anche