Sunteți pe pagina 1din 21

UNIDAD 3-PASO 3 DISEÑO BASE DE DATOS

TRABAJO GRUPAL

INTEGRANTES:
JOSE MANUEL VARGAS
COD. 1075318326
KEVIN JOSHEPT OSORIO
COD.1016064482
FAIVER CABRERA
COD.
JHON JAIRO LOZANO
COD. 7709343
WILSON LARA LLANOS
COD. 6805766

JAIME RUBIANO LLORENTE


TUTOR

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
ABRIL 2020

INTRODUCCIÓN

La elaboración de este trabajo tiene como fin abordar la temática de la unidad 3 actividad 3,
aplicando los métodos básicos de programación donde se abordará la temática de la
elaboración del diseño de bases de datos, en este caso se mostrará los diseños de inicio de
sesión, el menú donde mostrara 3 opciones que son operaciones básicas, condicionales y
ciclos de programación. También nos mostrara los diseños de la base de datos de Mysql
diseño de registro de usuario y el diseño de administración de los usuarios registrados, cada
diseño también mostrara los códigos de programación para los que fueron empleados.
Contenido
Clase Conexión ............................................................................................................................. 4
Clase Datos ................................................................................................................................... 7
Clase Función ............................................................................................................................... 8
Ventana Login ............................................................................................................................ 11
Ventana Menú ............................................................................................................................ 12
Ventana Mysql ........................................................................................................................... 13
Ventana Registro........................................................................................................................ 13
Ventana Usuario ........................................................................................................................ 16
ACTIVIDAD

El presente trabajo tiene como fin abordar la temática de la unidad 3 paso 3, donde se verá el
tema de diseño base de datos, siguiendo también las lecturas de las guías de la unidad y los
pasos de la guía de actividades.

Código de la aplicación:

https://drive.google.com/drive/folders/1IpmywT8e5LZrlMNpyxYhymLXa28OPs9t

Análisis, diseño y código de programación:


Se crearon las siguientes clases y ventanas de diseño
1 Clase para la conexión a la Db con SQLserver
2 Clase para el uso de todos los datos, get y set
3 Clases para validar, crear, actualizar, eliminar, y consultar usuarios de la DB
4 Ventana del Login con su respectivo código, para el inicio de sesión a la APP
5 Ventana del menu con su respectivo código
6 Ventana del mysql con su respectivo código
7 Paquete de configuración del targetFramework
8 Ventana del registro de usuarios con su respectivo código
9 Ventana para visualizar la DB y realizar las funciones (3)

Clase Conexión

Para realizar la creación y gestión a la DB base de datos se usó la aplicación Microsoft SQL
Server Management Studio 18,

SQL Server 2019 Express

https://www.microsoft.com/es-es/sql-server/sql-server-downloads

Descargar SQL Server Management Studio (SSMS)

https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-
ssms?view=sql-server-ver15
Una vez instalada creamos la conexión creando nuestro computador como servidor de base
de datos, con autenticación de Windows, por defecto será Id=sa Password=123456.

Usamos el siguiente código para crear la base de datos con los procedimientos.
USE [master] GO
GO ALTER DATABASE [Unad] SET TRUSTWORTHY OFF
/****** Object: Database [Unad] Script Date: 28/03/2020 11:27:12 a. m. GO
******/ ALTER DATABASE [Unad] SET ALLOW_SNAPSHOT_ISOLATION OFF
CREATE DATABASE [Unad] GO
GO ALTER DATABASE [Unad] SET PARAMETERIZATION SIMPLE
ALTER DATABASE [Unad] SET COMPATIBILITY_LEVEL = 140 GO
GO ALTER DATABASE [Unad] SET READ_COMMITTED_SNAPSHOT OFF
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) GO
begin ALTER DATABASE [Unad] SET HONOR_BROKER_PRIORITY OFF
EXEC [Unad].[dbo].[sp_fulltext_database] @action = 'enable' GO
end ALTER DATABASE [Unad] SET RECOVERY SIMPLE
GO GO
ALTER DATABASE [Unad] SET ANSI_NULL_DEFAULT OFF ALTER DATABASE [Unad] SET MULTI_USER
GO GO
ALTER DATABASE [Unad] SET ANSI_NULLS OFF ALTER DATABASE [Unad] SET PAGE_VERIFY CHECKSUM
GO GO
ALTER DATABASE [Unad] SET ANSI_PADDING OFF ALTER DATABASE [Unad] SET DB_CHAINING OFF
GO GO
ALTER DATABASE [Unad] SET ANSI_WARNINGS OFF ALTER DATABASE [Unad] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF
GO )
ALTER DATABASE [Unad] SET ARITHABORT OFF GO
GO ALTER DATABASE [Unad] SET TARGET_RECOVERY_TIME = 60 SECONDS
ALTER DATABASE [Unad] SET AUTO_CLOSE OFF GO
GO ALTER DATABASE [Unad] SET DELAYED_DURABILITY = DISABLED
ALTER DATABASE [Unad] SET AUTO_SHRINK OFF GO
GO ALTER DATABASE [Unad] SET QUERY_STORE = OFF
ALTER DATABASE [Unad] SET AUTO_UPDATE_STATISTICS ON GO
GO USE [Unad]
ALTER DATABASE [Unad] SET CURSOR_CLOSE_ON_COMMIT OFF GO
GO /****** Object: User [viedo] Script Date: 28/03/2020 11:27:12 a. m.
ALTER DATABASE [Unad] SET CURSOR_DEFAULT GLOBAL ******/
GO CREATE USER [viedo] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
ALTER DATABASE [Unad] SET CONCAT_NULL_YIELDS_NULL OFF GO
GO /****** Object: Table [dbo].[Registro] Script Date: 28/03/2020 11:27:12 a.
ALTER DATABASE [Unad] SET NUMERIC_ROUNDABORT OFF m. ******/
GO SET ANSI_NULLS ON
ALTER DATABASE [Unad] SET QUOTED_IDENTIFIER OFF GO
GO SET QUOTED_IDENTIFIER ON
ALTER DATABASE [Unad] SET RECURSIVE_TRIGGERS OFF GO
GO CREATE TABLE [dbo].[Registro](
ALTER DATABASE [Unad] SET DISABLE_BROKER [IdRegistro] [int] IDENTITY(1,1) NOT NULL,
GO [Nombre] [nvarchar](100) NULL,
ALTER DATABASE [Unad] SET AUTO_UPDATE_STATISTICS_ASYNC OFF [Apellido] [nvarchar](100) NULL,
GO [Telefono] [numeric](20, 0) NULL,
ALTER DATABASE [Unad] SET DATE_CORRELATION_OPTIMIZATION OFF [Usuario] [nvarchar](100) NULL,
[Contrasena] [nvarchar](100) NULL, /****** Object: StoredProcedure [dbo].[crearUsuario] Script Date:
CONSTRAINT [PK_Registro] PRIMARY KEY CLUSTERED 28/03/2020 11:27:12 a. m. ******/
( SET ANSI_NULLS ON
[IdRegistro] ASC GO
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SET QUOTED_IDENTIFIER ON
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = GO
ON) ON [PRIMARY] create procedure [dbo].[crearUsuario]
) ON [PRIMARY] @nombre nvarchar(100),
GO @apellido nvarchar(100),
SET IDENTITY_INSERT [dbo].[Registro] ON @usuario nvarchar(100),
@contrasena nvarchar(100),
INSERT [dbo].[Registro] ([IdRegistro], [Nombre], [Apellido], [Telefono], @telefono numeric(20,0)
[Usuario], [Contrasena]) VALUES (6, N'1', N'1', CAST(1 AS Numeric(20, 0)), N'1', as
N'1') INSERT INTO Registro VALUES
SET IDENTITY_INSERT [dbo].[Registro] OFF (@nombre,@apellido,@telefono,@usuario,@contrasena)
/****** Object: StoredProcedure [dbo].[actualizarUsuario] Script Date: GO
28/03/2020 11:27:12 a. m. ******/ /****** Object: StoredProcedure [dbo].[eliminarUsuario] Script Date:
SET ANSI_NULLS ON 28/03/2020 11:27:12 a. m. ******/
GO SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON GO
GO SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[actualizarUsuario]
@IdRegistro nvarchar(100),
@nombre nvarchar(100), create procedure [dbo].[eliminarUsuario]
@apellido nvarchar(100), @IdRegistro nvarchar(100)
@usuario nvarchar(100), as
@contrasena nvarchar(100), DELETE FROM Registro WHERE IdRegistro = @IdRegistro
@telefono numeric(20,0) GO
as /****** Object: StoredProcedure [dbo].[validar] Script Date: 28/03/2020
UPDATE Registro SET Nombre = @nombre, Apellido = @apellido, Telefono = 11:27:12 a. m. ******/
@telefono, Usuario = @usuario, Contrasena = @contrasena WHERE IdRegistro SET ANSI_NULLS ON
= @IdRegistro GO
GO SET QUOTED_IDENTIFIER ON
/****** Object: StoredProcedure [dbo].[consultarUsuario] Script Date: GO
28/03/2020 11:27:12 a. m. ******/ create procedure [dbo].[validar]
SET ANSI_NULLS ON @usuario varchar(100),
GO @contrasena varchar(100)
SET QUOTED_IDENTIFIER ON as
GO select * from Registro
CREATE PROCEDURE [dbo].[consultarUsuario] where usuario = @usuario and contrasena = @contrasena
as GO
begin USE [master]
select * from Registro GO
end ALTER DATABASE [Unad] SET READ_WRITE
GO GO

La base de datos se llamará Unad y la tabla dbo.Registro.

Una vez creada, vamos a realizar la conexión desde la clase conexión.vb, creando una
variable del tipo SqlConnection

Creamos dos métodos o procedimientos uno para realizar la conexión y otro para
desconectar, cada uno tendrá un Try Catch para controlar errores.
El punto 1 que esta resaltado hace referencia al nombre del servidor, y menciona inicialice
la base de datos llamada Unad, y que se autentique dados los datos resaltados en punto 2.

Clase Datos
Creamos las variables que usaremos en los formularios, y realizamos los métodos Get y
Set, también realizamos un método público para asignar los valores de las variables a los
métodos Get Y Set.
Public Class datos
Dim usuario As String
Dim contrasena As String
Dim Nombre As String
Dim Apellido As String
Dim telefono As Decimal
Dim IdRegistro As Int32

Public Property gIdRegistro()


Get
Return IdRegistro
End Get
Set(value)
IdRegistro = value
End Set
End Property

Public Property gUsuario()


Get
Return usuario
End Get
Set(value)
usuario = value
End Set
End Property
Public Property gContrasena()
Get
Return contrasena
End Get
Set(value)
contrasena = value
End Set
End Property

Public Property gNombre()


Get
Return Nombre
End Get
Set(value)
Nombre = value
End Set
End Property

Public Property gApellido()


Get
Return Apellido
End Get
Set(value)
Apellido = value
End Set
End Property

Public Property gTelefono()


Get
Return telefono
End Get
Set(value)
telefono = value
End Set
End Property

Public Sub New(usuario As String, contrasena As String, nombre As String,


telefono As Decimal, Apellido As String)
Me.gContrasena = contrasena
Me.gUsuario = usuario
Me.gNombre = nombre
Me.gTelefono = telefono
Me.Apellido = Apellido
End Sub

End Class

Clase Función
En esta clase se realizan los métodos para validar, crear, actualizar, eliminar, y consultar
usuarios de la DB, todos con Try Catch para controlar errores y accediendo a la clase
conexión para usar la DB

Imports System.Data.SqlClient

Public Class funcion


Inherits conexion
Dim cmd As New SqlCommand

Public Function validar(dts As datos) As Boolean


Try
Me.conectado()
cmd = New SqlCommand("validar")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cn
cmd.Parameters.AddWithValue("@usuario", dts.gUsuario)
cmd.Parameters.AddWithValue("@contrasena", dts.gContrasena)

Dim dr As SqlDataReader
dr = cmd.ExecuteReader
If dr.HasRows = True Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Me.desconectar()
End Try
End Function

Public Function crearUsuario(dts As datos) As Boolean


Try
Me.conectado()
cmd = New SqlCommand("crearUsuario")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cn
cmd.Parameters.AddWithValue("@nombre", dts.gNombre)
cmd.Parameters.AddWithValue("@apellido", dts.gApellido)
cmd.Parameters.AddWithValue("@telefono", dts.gTelefono)
cmd.Parameters.AddWithValue("@usuario", dts.gUsuario)
cmd.Parameters.AddWithValue("@contrasena", dts.gContrasena)

Dim dr As SqlDataReader
dr = cmd.ExecuteReader
If dr.HasRows = True Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Me.desconectar()
End Try
End Function

Public Function actualizarUsuario(dts As datos) As Boolean


Try
Me.conectado()
cmd = New SqlCommand("actualizarUsuario")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cn
cmd.Parameters.AddWithValue("@IdRegistro", dts.gIdRegistro)
cmd.Parameters.AddWithValue("@nombre", dts.gNombre)
cmd.Parameters.AddWithValue("@apellido", dts.gApellido)
cmd.Parameters.AddWithValue("@telefono", dts.gTelefono)
cmd.Parameters.AddWithValue("@usuario", dts.gUsuario)
cmd.Parameters.AddWithValue("@contrasena", dts.gContrasena)

Dim dr As SqlDataReader
dr = cmd.ExecuteReader
If dr.HasRows = True Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Me.desconectar()
End Try
End Function

Public Function eliminarUsuario(dts As datos) As Boolean


Try
Me.conectado()
cmd = New SqlCommand("eliminarUsuario")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cn
cmd.Parameters.AddWithValue("@IdRegistro", dts.gIdRegistro)

Dim dr As SqlDataReader
dr = cmd.ExecuteReader
If dr.HasRows = True Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Me.desconectar()
End Try
End Function

Public Function consultarUsuario() As Boolean


Try
Me.conectado()
Dim query As String = "consultarUsuario"
Dim cmd As New SqlCommand(query, cn)
cmd.CommandType = CommandType.StoredProcedure

Dim da As New SqlDataAdapter(cmd)


Dim dt As New DataTable()
da.Fill(dt)

usuario.dgGridView1.DataSource = dt

Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Me.desconectar()
End Try
End Function

End Class

Ventana Login

Empezamos mostrando este análisis en cómo se mostraría el programa para el cual fue
creado, mostrando un diseño de inicio de sesión donde la persona podrá acceder a la ventana
menú teniendo el usuario y la contraseña registrada en la base de datos, EL botón registrar
muestra la ventana registro y el botón usuario muestra la ventana usuario.
Ventana Menú

En esta parte se muestra el diseño del menú, donde nos ofrece 3 temas para ver o estudiar,
operaciones básicas, condicionales y ciclos de programación
Ventana Mysql
En esta parte nos muestra lo que es el diseño de bases de datos de MYSQL, donde es un
sistema de gestion de bases de datos relacional de codigo abierto, basado en lenguaje de
consulta estructurado y tambien nos muestra un reproductor de video donde puede ofrecer
contenido didactico para verlo.

Ventana Registro

En la parte del diseño de registro, nos ofrece la oportunidad de poder crear un usuario, donde
nos piden datos básicos como nombres, apellidos, teléfono, el tipo de usuario que va elegir y
la contraseña que elegirá para su registro. Este formulario tiene las validaciones de letras y
números para los campos Nombre, Apellidos y Teléfono.
El botón registró con el evento Click, contiene un capturador de errores, aquí se agregaran
los registros a el DataGrid y o DB. Realizando el llamado al método crearUsuario de la
clase Funciones.

Se realiza la validación de las cajas de texto con el evento KeyPress y se muestran las ayudas
con el icono de ErrorProvider

Public Class Registro


Private Sub btnRegistro_Click(sender As Object, e As EventArgs) Handles
btnRegistro.Click

Try

Dim dts As New datos


Dim funciones As New funcion
dts.gNombre = Me.txtNombre.Text
dts.gApellido = Me.txtApellido.Text
dts.gTelefono = Me.txtTelefono.Text
dts.gUsuario = Me.txtUsuario.Text
dts.gContrasena = Me.txtContrasena.Text

If funciones.crearUsuario(dts) = True Then


MessageBox.Show("Error al crear el usuario", "Info",
MessageBoxButtons.OK)
Else
MessageBox.Show("Se creo correctamente el usuario", "Info",
MessageBoxButtons.OK)
Dim fr As New Menu
Me.Hide()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

'validador de campos

Private Sub txtNombre_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtNombre.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
epLetras.SetError(txtNombre, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epLetras.SetError(txtNombre, "Sólo se Admiten Números letras")
End If
End Sub

Private Sub txtApellido_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtApellido.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
epLetras.SetError(txtApellido, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epLetras.SetError(txtApellido, "Sólo se Admiten Números letras")
End If
End Sub

Private Sub txtTelefono_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtTelefono.KeyPress
If Char.IsNumber(e.KeyChar) Then
e.Handled = False
epNumeros.SetError(txtTelefono, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epNumeros.SetError(txtTelefono, "Sólo se Admiten Números numeros")
End If
End Sub
End Class
Ventana Usuario

Diseño de administración de usuarios:


Desde el formulario registro, con el botón usuario podemos ingresar a este formulario para
realizar las siguientes validaciones, editar y guardar usuarios y también eliminar; adicional
un botón para cerrar el formulario.

Para activar las opciones de editar se debe dar doble click en el DataGrid, sobre una fila
donde se encuentre el registro esto enviara los datos a las cajas de textos y aquí podemos
cambiar los datos con el boton guardar, si se da click en el boton eliminar una ves cargados
los registros este eliminara definitivamente el registro.

Public Class usuario


Private Sub usuario_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim funciones As New funcion
txtId.Text = ""
funciones.consultarUsuario()
End Sub

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


dgGridView1.DoubleClick
txtId.Text = dgGridView1.CurrentRow.Cells.Item(0).Value.ToString()
txtNombre.Text = dgGridView1.CurrentRow.Cells.Item(1).Value.ToString()
txtApellido.Text = dgGridView1.CurrentRow.Cells.Item(2).Value.ToString()
txtTelefono.Text = dgGridView1.CurrentRow.Cells.Item(3).Value.ToString()
txtUsuario.Text = dgGridView1.CurrentRow.Cells.Item(4).Value.ToString()
txtContrasena.Text = dgGridView1.CurrentRow.Cells.Item(5).Value.ToString()
End Sub

'validador de campos

Private Sub txtNombre_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtNombre.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
epLetras.SetError(txtNombre, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epLetras.SetError(txtNombre, "Sólo se Admiten Números letras")
End If
End Sub

Private Sub txtApellido_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtApellido.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
epLetras.SetError(txtApellido, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epLetras.SetError(txtApellido, "Sólo se Admiten Números letras")
End If
End Sub

Private Sub txtTelefono_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtTelefono.KeyPress
If Char.IsNumber(e.KeyChar) Then
e.Handled = False
epNumeros.SetError(txtTelefono, Nothing)
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
epNumeros.SetError(txtTelefono, "Sólo se Admiten Números numeros")
End If
End Sub
'==========
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
If txtId.Text <> "" Then
Try
Dim dts As New datos
Dim funciones As New funcion
dts.gNombre = Me.txtNombre.Text
dts.gApellido = Me.txtApellido.Text
dts.gTelefono = Me.txtTelefono.Text
dts.gUsuario = Me.txtUsuario.Text
dts.gContrasena = Me.txtContrasena.Text
dts.gIdRegistro = Me.txtId.Text
If funciones.actualizarUsuario(dts) = True Then
MessageBox.Show("Error al actualizar el usuario", "Info",
MessageBoxButtons.OK)
Else
MessageBox.Show("Se creo actualizó el usuario", "Info",
MessageBoxButtons.OK)
Dim fr As New Menu
funciones.consultarUsuario()
txtId.Text = ""
txtNombre.Text = ""
txtApellido.Text = ""
txtTelefono.Text = ""
txtUsuario.Text = ""
txtContrasena.Text = ""
End If

Catch ex As Exception
MsgBox(ex.Message)

End Try
End If
End Sub

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


Button2.Click
If txtId.Text <> "" Then
Try
Dim dts As New datos
Dim funciones As New funcion
dts.gIdRegistro = Me.txtId.Text
If funciones.eliminarUsuario(dts) = True Then
MessageBox.Show("Error al eliminar el usuario", "Info",
MessageBoxButtons.OK)
Else
MessageBox.Show("Se elimino el usuario", "Info",
MessageBoxButtons.OK)
Dim fr As New Menu
funciones.consultarUsuario()
txtId.Text = ""
txtNombre.Text = ""
txtApellido.Text = ""
txtTelefono.Text = ""
txtUsuario.Text = ""
txtContrasena.Text = ""
End If

Catch ex As Exception
MsgBox(ex.Message)

End Try
End If
End Sub
Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles
btnSalir.Click
Me.Close()
End Sub

End Class
CONCLUSIONES

Con la anterior actividad pudimos concluir que el diseño de una aplicación en


VISUAL BASIC depende de los diferentes formularios que son requeridos para la
correcta ejecución de la aplicación según los requerimientos analizados.

Dependiendo del uso para la cual fue diseñado cada formulario se pueden crear
restricciones, validación de la información y almacenamiento de datos asociados en
una base de datos de MYSQL.

En la parte del diseño de registro, nos ofrece la oportunidad de poder crear varios
ítems, que son en donde se almacenan los datos, como el usuario, donde nos piden
datos básicos como nombres, apellidos, teléfono, el tipo de usuario que va elegir y
la contraseña que elegirá para su registro.
BIBLIOGRAFIA

Conceptos, sintaxis y funcionamiento lógico de estructuras básicas de programación.


Rubiano. J. (2016). Material de apoyo unidad 2.
Recuperado de http://hdl.handle.net/10596/9361
Fernández, C. (2009). Visual Basic: básico. Madrid, ES: RA-MA Editorial. Capítulo 4.
Entrada y salida estándar. (pp. 51-58).
Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=52&docID=110
46605&tm=1480460037723
Fernández, C. (2009). Visual Basic: básico. Madrid, ES: RA-MA Editorial. Capítulo 5
Sentencias de control. (pp. 59-70), Recuperado
de https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=60&docID=322
9464&tm=1544223827414
Conceptos, sintaxis y funcionamiento lógico de estructuras básicas de programación.
Rubiano. J. (2018). Estructuras básicas de programación. [OVI].
Recuperado de http://hdl.handle.net/10596/22616