Beruflich Dokumente
Kultur Dokumente
1. Se crea la Base de datos, se relaciona las tablas y se crean los procedimientos almacenados y se guardan
2. En Visual Studio se debe tener claro el esquema que tendra el Sistema que se va a Desarrollar en este caso vamos a representar en
carpetas con las diferentes capas del Sistema.
2.1. Esquema de Tres capas del Sistema
PAG. 1
2.2. Esquema de la Capa Presentacion con los diferentes formularios del Sistema(La capa de presentacion es donde se colocan todos los
formularios(Interfaces) del sistema, asi como los reportes y los archivos necesarios en el sistema como imgenes y/o archivos que se
necesite en el sistema.
PAG. 2
2.3. Esquema de la Capa de Logica con las diferentes clases que tendra(La capa Logica es donde se guardan clases de la Bd o una clase por
cada tabla de la Base de datos y cada clase con sus objetos y atributos)
PAG. 3
2.4. Esquema de la Capa de datos con las diferentes clases que tendra(La capa Datos es donde tenemos la clase para conectarse a la base de
datos y tambien las funciones que se necesitan para interactuar con la base de datos, como ser la Funcion insertar, modificar, eliminar,
etc, o cualquier consulta que se vaya a hacer con la base de datos, dependiendo de la tabla o tablas que se vayan a utilizar en la consulta
a la base de datos)
PAG. 4
3. Para trabajar en Visual Studio y poder crear una solucion completa para el sistema que se va a desarrollar, siga los pasos acontinuacion:
3.1. Ingresar a Visual Studio
3.2. Clic en Archivo/Nuevo Proyecto/Otros tipos de Proyectos/Soluciones de Visual Studio/ Seleccionar Solucion en Blanco
3.3. Seleccionar la ubicacin que tendra la Solucion, crearle una carpeta para guardar la solucion que se va a implementar
3.4. Colocar nombre a la Solucion y luego guargarla.
3.5. Luego se debe agregar a la solucion las 3 capas
3.5.1. Para la capa Presentacion, clic en Archivo/agregar/Nuevo Proyecto/Seleccione el lenguaje de Programacion con el cual va a
trabajar(En nuestro caso Visual Basic)/Clic en Aplicacin Windows Form/
3.5.2. Seleccione la carpeta donde va a guardar esta capa y el nombre para el archivo Sera Presentacion
3.5.3.Para la capa presentacion si usted ya tiene un formulario hecho, lo debe adicionar simplemente a esta solucion, dar clic en
archivo/agregar/Proyecto existente/ y seleccionar el archivo que tiene su formulario
3.5.4.Para la capa Datos, clic en Archivo/agregar/Nuevo Proyecto/Seleccione el lenguaje de Programacion con el cual va a trabajar(En
nuestro caso Visual Basic)/Clic en Biblioteca de Clases/
3.5.5.Seleccione la carpeta donde va a guardar esta clase y el nombre para el archivo Sera Datos
3.5.5.1. En esta capa vamos a adicionar todas las funciones que se van a necesitar para trabajar con la base de datos
3.5.6.Para la capa Logica, clic en Archivo/agregar/Nuevo Proyecto/Seleccione el lenguaje de Programacion con el cual va a trabajar(En
nuestro caso Visual Basic)/Clic en Biblioteca de Clases/
3.5.7.Seleccione la carpeta donde va a guardar esta clase y el nombre para el archivo Sera Logica
Una vez creada la solucion con las 3 capas, vamos a empezar a trabajar el Sistema.
PAG. 5
Vamos a empezar a trabajar con el Sistema que vamos a desarrollar, para ello, primero crearemos
la base de datos con las tablas que corresponden y luego vamos a trabajar en Visual:
use DbSistemax
4. Si usted desea colocar el campo Codigo_Usuario con datos de autoincremento, debe colocar
el siguiente cdigo en el momento de creacin de la tabla, donde el campo llave ser
autoincrementable de uno en uno y empezar desde uno la numeracin.
5. En nuestro Sistema el campo Codigo_Usuario, ser insertado por el usuario y por lo tanto
usamos el primer script para la creacin de la tabla y no usaremos el segundo.
PAG. 6
6. Guardar todos los cambios en SQL Server y luego nos vamos a Visual para empezar a programar
nuestro sistema.
Si usted ya prepar Visual Studio con sus 3 capas como indica en la pagina 5 de este manual,
puede continuar, pero si no ha preparado todavia, siga paso a paso lo que indica en la
pagina 5 y luego continue.
Una vez creadas las 3 capas vamos a empezar a trabajar en cada capa para ir organizando nuestras
clases en la capa que corresponde:
1. Primero vamos a trabajar en la capa Datos para poder hacer la conexin a la base de
datos.
2. Seleccione la capa Datos y le vamos a cambiar el nombre a la clase Class1.vb, ahora
el nombre de la clase ser conexin.vb
3. Vamos a adicionar una clase para trabajar el inicio de sesin donde comprobara si
estn correctos los datos del usuario, la contrasea y el tipo de usuario en la base de
datos(Para eso vamos a adicionar una clase que se va a llamar: Fusuario, para
agregar la clase se selecciona la Capa datos/ clic derecho/agregar/clase/este este
caso el nombre ser Fusuario
PAG. 7
8. Empezaremos a trabajar en la clase conexin.vb que ya tenemos creada para hacer la
conexin de nuestro sistema con la base de datos, dar doble clic en la clase conexin.vb para
colocar el cdigo fuente y hacer la conexin a la base de datos.
End Class
9. En la clase conexin, vamos a utilizar librera SQL, para eso debe colocarla al inicio de la clase:
Imports System.Data.SqlClient
Imports System.Data.SqlClient
Public Class conexion
End Class
10. Posteriormente vamos a hacer la conexin con la base de datos que en este caso lo vamos a
hacer de forma grfica, para eso escriba el siguiente cdigo y vamos a codificar la Funcion
Conectado():
Imports System.Data.SqlClient
Public Class conexion
Catch ex As Exception
Return
End Try
End Function
End Class
PAG. 8
PAG. 8
b. Configurar Como muestra en la imagen:
P
A
G
.
9
c. Al dar Clic para hacer la conexin, elegir el origen de datos MS SQL SERVER, / Origen
de Datos/ MSSQL SERVER (SQL CLIENT) y le aparece el siguiente Cuadro:
d. Abra SQL SERVER y al abrir le muestra los datos del nombre del Servidor de Base de
Datos y el tipo de autenticacin que tiene configurado:
PAG. 10
e. Para no tener problemas con el nombre del Servidor, cpielo el nombre y llvelo a
Visual donde est configurando su conexin:
PAG. 11
PAG. 11
f. Luego volver al cuadro anterior con todos los datos llenos
PAG. 12
g. Guarde todos los cambios, cierre el cuadro de la configuracin y continu haciendo
la Funcin Conectado()
Imports System.Data.SqlClient
Public Class conexion
Catch ex As Exception
Return
End Try
End Function
End Class
PAG. 13
PAG. 13
i. Luego contine colocando todo el cdigo para la Funcin Conectado() que se debe
poner en la clase conexion:
Imports System.Data.SqlClient
Public Class conexion
End Function
End Class
End Function
PAG. 14
Public Class Fusuario
End Class
Imports System.Data.SqlClient
End Class
o. Luego hay que importar la (Capa Lgica) y para eso hay que insertar una Referencia
a la clase, dar clic en la Capa Datos, seleccionar Agregar Referencia y seleccionar la
capa logica como muestra en la imagen y clic en aceptar:
PAG. 15
PAG. 15
p. Hacer lo mismo en la Capa Presentacin, solo que ah, se va a agregar referencia a la
(Capa Logica) y la Capa Datos:
q. Una vez agregada la referencia de las clases en cada capa, primero vamos a trabajar
en la capa lgica en la clase que se llama Class1.vb, le cambiaremos el nombre por
Eusuario.vb
PAG. 16
PAG. 16
r. En la clase Eusuario, vamos a colocar procedimientos para obtener y asignar valores
a los atributos de la tabla que vamos a utilizar para el inicio de sesin de la base de
datos, con sus constructores y todo para poder trabajar con esos campos, con los
Set(El valor que vamos a signar) y los Get(Lo que vamos a obtener).
s. Se debe hacer Getter y Setter para cada uno de los atributos de la tabla.
t. Una vez coloc los procedimientos de los mtodos de los getter y setter de cada
campo de la tabla, al final de los metodos Get y Set(Getter y Seeter), debe hacer los
constructores de todos los mtodos con los datos de la tabla.
Public Sub New(ByVal usuario As String, ByVal contrasena As String, ByVal tipousuario As String)
_usuario = usuario
_contrasena = contrasea
_tipousuario=tipousuario
End Sub
Public Sub New()
End Sub
PAG. 17
u. La clase Eusuario debe quedar as:
Set(value)
usuario = value
End Set
End Property
Set(value)
contrasena = value
End Set
End Property
Set(value)
tipousuario = value
End Set
End Property
Public Sub New(ByVal usuario As String, ByVal contrasena As String, ByVal tipousuario As String)
Me._usuario = usuario
Me._contrasena = contrasena
Me._tipousuario = tipousuario
End Sub
End Sub
End Class
PAG. 18
v. Con eso terminamos la clase Eusuario, guarde los cambios y vamos a trabajar en la
Capa Datos, en la Clase Fusuario
Imports System.Data.SqlClient
End Class
vi. Posteriormente salga de SQL y regrese a Visual Studio para trabajar en la Capa
Datos, en la Clase Fusuario
PAG. 19
w. Una vez en la clase Fusuario, vamos a agregar la capa Lgica y la clase conexin para
poder acceder a las funciones y procedimientos que hay en esa clase
Imports System.Data.SqlClient
Imports Logica
End Class
If comand.ExecuteNonQuery Then
Using dt As New DataTable
Using da As New SqlDataAdapter(comand)
da.Fill(dt)
Return dt
End Using
End Using
Else
Return Nothing
End If
desconectado()
End Function
End Class
PAG.
PAG. 20
aa. Guardar todos los cambios y luego vamos a empezar a disear el Formulario de Inicio
de Sesin en la capa Presentacin:
bb. Para disear el formulario de inicio de sesin, vamos a utilizar: TextBox, Label,
GroupBox, PictureBox, ProgressBar, Timer.
cc. Coloque un GroupBox y cmbiele el texto que vera el usuario en la propiedad de Text
coloque: Vaco,
dd. Luego coloque Label y TextBox para usuario y contrasea en el inicio de sesion, por
ejemplo para el campo usuario el label le debe cambiar la propiedad Name por
Lbusuario y el TextBox cambiar la propiedad Name por Txtusuario (debe hacer lo
mismo para cada campo de la tabla de su Base de datos, el label y el TextBox debe
tener el mismo nombre del campo de la tabla anteponiendo Lb si es Label y Txt si es
TextBox, ejemplo : Lbusuario y Txtusuario
ee. En el TextBox: Txtcontrasena, cambie la Propiedad PasswordChar, coloque un *,
para que cuando el usuario coloque la contrasea, solo se vea asteriscos.
ff. Vamos a Agregar un ComboBox y en la propiedad del Name:cbotipousuario y en
Items vamos a agregar todos los tipos de usuario(En este caso Admin y Cajero)
gg. Baje los Button y tambin cambiar la propiedad del Text para mostrar y el Name
tambin, para los nombre del Button anteponer Btn y luego el nombre, por ejemplo
BtnIniciar.
PAG.
PAG. 21
gg. Insertar un PictureBox y agregar una imagen
End Sub
End Class
Imports Logica
Imports Datos
End Sub
End Class
PAG.
PAG. 22
ll. Dentro del formulario, vamos a utilizar instancias de esas Capas.
Imports Logica
Imports Datos
End Sub
End Class
Imports Logica
Imports Datos
End Sub
End Sub
End Class
PAG.
PAG. 23
oo. Vamos a hacer el procedimiento Limpiar(), que limpia los TextBox del Formulario, lo
haremos despus del evento del timer como muestra a continuacin
Imports Logica
Imports Datos
End Sub
Txtusuario.Text = ""
Txtcontrasena.Text = ""
Cbotipousuario.Text = ""
End Sub
End Class
pp. Luego programaremos el evento del Clic sobre el botn Cancelar(En el diseo del
formulario, dar doble clic sobre el botn Cancelar:
Close()
End Sub
PAG.
PAG. 24
rr. Luego irse a programar el boton iniciar con el siguiente cdigo:
End Try
End Sub
PAG. 25
Vamos a Adicionar las clases para poder hacer Las Altas (Insertar); bajas (Eliminacin)
y modificaciones de los usuarios para nuestro sistema:
Set(value)
codigo = value
End Set
End Property
End Class
PAG. 26
e.Y todos los campos de su tabla debe tener los mismos procedimientos:
PAG. 27
f. Una vez coloc los procedimientos de los mtodos de los getter y setter de cada
campo de la tabla, al final de los mtodos Get y Set(Getter y Seeter), despus debe
hacer los constructores de todos los mtodos con los datos de la tabla.
Public Sub New(ByVal codigo As Integer, ByVal nombre As String, ByVal apellidos As String,
ByVal usuario As String, ByVal tipousuario As String, ByVal contrasena As String, ByVal
contrasena2 As String)
_codigo = codigo
_nombre = nombre
_apellidos = apellidos
_usuario = usuario
_tipousuario=tipousuario
usuario =_contrasena
usuario = contrasena
_contrasena2 = contrasena2
End Sub
End Sub
End Class
Guarde todos los cambios.
14. Vamos a agregar en la Capa Datos, una nueva Clase
a. Clic derecho en la capa Datos/Agregar/Clase
b. Colocar el nombre para la clase en este caso el nombre ser: Fregistrousuario(Para
las clases de la capa datos, vamos a estandarizar la F delante del
nombre de la clase: ejemplo: : Fregistrousuario
c. Agregar
d. Una vez se agreg la clase, dentro de la clase se coloca Inherits conexin (Para
indicar que vamos a utilizar la clase conexin) colocamos como a continuacin:
Public Class Fregistrousuario
Inherits conexion
End Class
PAG. 28
f. En esta clase vamos a colocar todas las funciones que vamos a utilizar con el registro
de usuarios y vamos a empezar con la Funcin Insertar()
Imports System.Data.SqlClient
Imports Logica
Imports Datos
Public Class Fregistrousuario
Inherits conexion
Public Function insertar(ByVal dt As vregistrousuario) As Boolean
Try
conectado()
comand = New SqlCommand("insertar_usuario")
comand.CommandType = CommandType.StoredProcedure
comand.Connection = conex
comand.Parameters.AddWithValue("@Codigo_Usuario", dt._codigo)
comand.Parameters.AddWithValue("@nombre", dt._nombre)
comand.Parameters.AddWithValue("@apellidos", dt._apellidos)
comand.Parameters.AddWithValue("@usuario", dt._usuario)
comand.Parameters.AddWithValue("@tipousuario", dt._tipousuario)
comand.Parameters.AddWithValue("@contrasena", dt._contrasena)
comand.Parameters.AddWithValue("@contrasena2", dt._contrasena2)
If comand.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function
End Class
go
PAG. 29
j. Debe tener en cuenta el nombre correcto de los campos de su tabla en la base de
datos
k. Luego de haber escrito el procedimiento, ejecute la consulta para poder crear el
procedimiento almacenado que utilizara en la clase: Fregistrousuario
15. Vamos a agregar un nuevo Formulario en la Capa Presentacion(Presentacion)
a. Clic derecho en la capa Presentacin/Agregar/Windows Forms
b. Colocar el nombre para el formulario en este caso el nombre ser: FrmRegistro,
para estandarizar los nombres de los archivos que hay en la capa Presentacion, debe
de anteponer Frm y luego el nombre, por ejemplo: FrmRegistro
c. Agregar
d. Una vez se agreg el formulario, vamos a disear el formulario para el Registro de
usuario que tendr la siguiente presentacin inicial:
e. Inicialmente solo vamos a disear la parte de la izquierda que tiene los datos para el
registro de usuario
i. Coloque un GroupBox y cmbiele el texto que vera el usuario en la propiedad
de Text coloque: Datos Registro Usuario y su Name: grpRegistroUsuario
ii. Luego coloque Label y TextBox para campo de la tabla, por ejemplo para el
campo Codigo el label le debe cambiar la propiedad Name por Lbcodigo y el
TextBox cambiar la propiedad Name por TxtCodigo (debe hacer lo mismo
para cada campo de la tabla de su Base de datos, el label y el TextBox debe
tener el mismo nombre del campo de la tabla anteponiendo lb si es Label y
Txt si es TextBox, ejemplo : Lbcodigo y TxtCodigo
iii. Baje los Button y tambien cambiar la propiedad del Text para mostrar y el
Name tambien, para los nombre del Button anteponer Btn y luego el
nombre, por ejemplo BtnNuevo.
iv. Baje un ComboBox para colocar el tipo de usuario, las propiedades que debe
cambiar son: Name: cbotipousuario, en Items vamos a agregar todos los
tipos de usuario(En este caso Admin y Cajero)
PAG.
PAG. 30
iv. Una vez diseado el Formulario Debe de colocar las Capas que va a utilizar en el
formulario, en este caso la capa Datos y la Capa Logica(Logica), para eso dar
doble clic en el formulario en algn lugar donde no hayan objetos y luego escribir
el nombre de las capas anteponiendo la palabra Imports y adems debajo de la
Class FrmRegistro, colocar variables que utilizaremos en esta clase como
muestra a continuacin:
Imports Datos
Imports Logica
End Sub
End Class
En este procedimiento se quiere limpiar los datos del nuevo usuario que se colocaron en el
formulario, por eso se deben limpiar todas herramientas que tienen los datos del nuevo
usuario, para eso escribir el siguiente cdigo:
Imports Datos
Imports Logica
End Sub
End Class
PAG. 31
1. Boton Nuevo (Vamos a llamar al procedimiento limpiar(). En este botn
(Nuevo) se quiere limpiar los datos.
Imports Datos
Imports Logica
End Sub
Public Sub Limpiar()
.
.
End Sub
Me.Limpiar()
End Sub
End Class
2. Boton Cancelar
Imports Datos
Imports Logica
Close()
End Sub
End Class
PAG. 32
3. Botn Guardar
Imports Datos
Imports Logica
End Sub
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
If TxtCodigo.Text <> "" And TxtNombre.Text <> "" And TxtApellido.Text <> "" And
Txtusuario.Text <> "" And cbotipousuario.Text <> "" And Txtcontrasena.Text <> "" And
Txtcontrasena2.Text <> "" Then
If Txtcontrasena.Text = Txtcontrasena2.Text Then
Try
Dim dt As New vregistrousuario
Dim fu As New Fregistrousuario
dt._codigo = TxtCodigo.Text
dt._nombre = TxtNombre.Text
dt._apellidos = TxtApellido.Text
dt._usuario = Txtusuario.Text
dt._tipousuario = cbotipousuario.Text
dt._contrasena = Txtcontrasena.Text
dt._contrasena2 = Txtcontrasena2.Text
If fu.insertar(dt) Then
MessageBox.Show("Usuario registrado correctamente", "guardando
registros ", MessageBoxButtons.OK, MessageBoxIcon.Information)
' Mostrar()
Limpiar()
Else
MessageBox.Show("Usuario NO registrado ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Error)
' Mostrar()
Limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Las contraseas no coinciden ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Else
MessageBox.Show("Falta ingresar datos ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
End Class
PAG. 33
Vamos a continuar diseando el formulario de Registro en la parte derecha, como
muestra en la imagen, siga los pasos de lneas abajo:
Vamos a colocar un GroupBox que va a ayudar a mostrar los datos de los usuarios
Registrados, a este GroupBox se le va a cambiar la propiedad Text: Listado de Usuarios.
PAG. 34
PAG. 34
2. En el DataGridView, cambiar la propiedad: SelectionMode: FullRowSelect, para
poder seleccionar las filas y en el Name:datalistado, ademas vamos a agregar
una nueva columna en la propiedad Columns:
Esta columna nos va a permitir seleccionar el campo que vamos a eliminar, dar clic
en eliminar y seleccionar la opcin de cambiar el nombre y el texto del encabezado
y clic en agregar, luego llenar los datos que muestra a continuacin:
PAG. 35
PAG. 35
3. Agregar un ComboBox y en la propiedad del Name:cbocampo y en Items vamos a
agregar todos los campos de la base de datos para realizar bsquedas
4. Agregar un TextBox y en la propiedad del Name:txtbuscar
5. Agregar un Label y en la propiedad del Name:Lbinexistente y en el Text: Datos
inexistentes (este Label solo aparecer cuando el datalistado este en blanco)
6. Agregar dos Button, uno para Eliminar y en la propiedad del Name:Btneliminar y en
el Text: Eliminar y otro para Mostrar propiedad del Name:Btnmostrar y en el Text:
Mostrar
Con todos estos objetos vamos a crear el procedimiento mostrar en el formulario
FrmRegistro (Doble clic en el botn Mostrar para programar su evento)
Imports Datos
Imports Logica
Public Class FrmRegistro
Private dtb As New DataTable
Private Sub FrmRegistro_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
.
.
End Sub
End Sub
End Class
select *
PAG.
PAG. 36
4. Para que funcione el Boton Mostrar necesitamos trabajar en la Class
Fregistrousuario de la Capa Datos y tambin en el Formulario FrmRegistro
de la Capa Presentacin.
5. Primero vamos a trabajar en la Capa Datos, Clic en la Class Fregistrousuario
y crear la Funcin mostrar() y colocar el siguiente cdigo:
Public Function mostrar() As DataTable
Try
conectado()
comand = New SqlCommand("mostrar_usuario")
comand.CommandType =
CommandType.StoredProcedure
comand.Connection = conex
If comand.ExecuteNonQuery Then
Using dts As New DataTable
Using da As New
SqlDataAdapter(comand)
da.Fill(dts)
Return dts
End Using
End Using
Else
Return Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function
PAG. 37
6. Codifiquemos el procedimiento para ocultar_columnas()
Imports Datos
Imports Logica
DataListado.Columns(1).Visible = False
End Sub
End Sub
End Class
Codifique lo siguiente:
PAG. 38
Private Sub ocultar_columnas()
DataListado.Columns(1).Visible = False
End Sub
ocultar_columnas()
Else
LbInexistente.Visible = True
DataListado.DataSource = Nothing
End If
Else
dv.RowFilter = Cbocampo.Text & " like '" & TxtBuscar.Text & "%'"
ocultar_columnas()
Else
LbInexistente.Visible = True
DataListado.DataSource = Nothing
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
PAG. 39
8. Abajo del procedimiento buscar(), Coloque el procedimiento mostrar()
Try
Dim fun As New Fregistrousuario
dtb = fun.mostrar
DataListado.Columns.Item("Eliminar").Visible = False
If dtb.Rows.Count <> 0 Then
DataListado.DataSource = dtb
TxtBuscar.Enabled = True
DataListado.ColumnHeadersVisible = True
LbInexistente.Visible = False
Else
DataListado.DataSource = Nothing
TxtBuscar.Enabled = False
DataListado.ColumnHeadersVisible = False
LbInexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
BtnNuevo.Visible = True
Btneditar.Visible = False
End Sub
.
PAG. 40
7. Guarde todos los cambios y luego vaya al Diseo del Formulario y dar doble
clic sobre el boton Mostrar para codificar el evento, en el cual solo vamos a
llamar al procedimiento mostrar() como muestra a continuacin:
mostrar()
End Sub
buscar()
End Sub
End Sub
PAG. 41
11. Una vez el cursor se encuentra dentro del evento CellContentClick del datalistado, ir a la
barra para cambiar el evento que vamos a trabajar comoo muestra acontinuacion
12. Dar clic sobre el evento y luego seleccionar la propiedad en el evento CellClick y
colocar el siguiente codigo:
TxtCodigo.Text = DataListado.SelectedCells.Item(1).Value
TxtNombre.Text = DataListado.SelectedCells.Item(2).Value
TxtApellido.Text = DataListado.SelectedCells.Item(3).Value
Txtusuario.Text = DataListado.SelectedCells.Item(4).Value
cbotipousuario.Text = DataListado.SelectedCells.Item(5).Value
Txtcontrasena.Text = DataListado.SelectedCells.Item(6).Value
Txtcontrasena2.Text = DataListado.SelectedCells.Item(7).Value
Btneditar.Visible = True
BtnGuardar.Visible = False
End Sub
PAG. 42
13. Luego vamos a trabajar en la Capa Datos, Class Fregistrousuario y
vamos a crear la Funcion Editar, colocamos como a continuacin:
Imports System.Data.SqlClient
Imports Logica
Imports Datos
Public Class Fregistrousuario
Inherits conexion
Public Function editar(ByVal dt As vregistrousuario) As Boolean
Try
conectado()
comand = New SqlCommand("editar_usuario")
comand.CommandType = CommandType.StoredProcedure
comand.Connection = conex
comand.Parameters.AddWithValue("@Codigo_Usuario", dt._codigo)
comand.Parameters.AddWithValue("@nombre", dt._nombre)
comand.Parameters.AddWithValue("@apellidos", dt._apellidos)
comand.Parameters.AddWithValue("@usuario", dt._usuario)
comand.Parameters.AddWithValue("@tipousuario", dt._tipousuario)
comand.Parameters.AddWithValue("@contrasena", dt._contrasena)
comand.Parameters.AddWithValue("@contrasena2", dt._contrasena2)
If comand.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function
End Class
14. Guarde los cambios y luego ir al Formulario y vamos a trabajar sobre el Boton Editar
PAG. 43
15. En el Boton Editar, doble clic sobre el boton para empezar a codificar los siguiente
Try
Dim dt As New vregistrousuario Dim
fu As New Fregistrousuario
dt._codigo = TxtCodigo.Text
dt._nombre = TxtNombre.Text
dt._apellido = TxtApellido.Text
dt._usuario = Txtusuario.Text
dt._tipousuario = cbotipousuario.Text
dt._contrasena = Txtcontrasena.Text
dt._contrasena2 = Txtcontrasena2.Text
If fu.editar(dt) Then
MessageBox.Show("Usuario modificado correctamente", "guardando registros
", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
Limpiar()
Else
MessageBox.Show("Usuario NO modificado ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
Limpiar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Else
MessageBox.Show("No se modifica datos ", " intente nuevamente ", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End If
End Sub
Antes de crear todo lo que corresponde al boton eliminar vamos a modificar la tabla Registro_Usuario
PAG. 44
En SQL vamos a seguir los siguientes pasos
UPDATE Registro_Usuario
SET ESTADO = 1
WHERE ESTADO IS NULL
PAG. 45
16. Boton Eliminar del Formulario
1. Para trabajar con el boton Eliminar vamos a crear en la base de datos el
procedimiento almacenado eliminar_usuario
go
If comand.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function
4. Guarde los cambios y luego vamos a trabajar sobre el Btneliminar, para eso
debe irse al Formulario FrmRegistro y dar doble clic en el Btneliminar y
luego vamos a trabajar sobre el evento del clic de ese Boton, para eso
colocar el siguiente codigo:
PAG. 44
PAG. 46
Dim result As DialogResult
result = MessageBox.Show("Realmente quiere eliminar el usuario", "Eliminando usuario",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then
Try
Dim dt As New vregistrousuario
Dim fu As New Fregistrousuario
5. En el Boton Btneliminar vamos a trabajar, dar doble clic de ese
dt._codigo = Txtcodigo.Text
Botn, para eso colocar el siguiente cdigo:
If fu.eliminar(dt) Then
MessageBox.Show("Usuario modificado correctamente", "guardando registros ",
MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
Else
MessageBox.Show("El Usuario NO se elimino ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Cancelando eliminacion de registro ", " intente nuevamente ",
MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
End If
Limpiar()
End Sub
PAG. 47
PAG. 48