Beruflich Dokumente
Kultur Dokumente
1
2 CREATE TABLE [Empleado](
3 [CodEmpleado] [char](10) NOT NULL,
4 [Nombres] [varchar](100) NULL,
5 [ApePaterno] [varchar](50) NULL,
[ApeMaterno] [varchar](50) NULL,
6 [FecNacimiento] [date] NULL,
7 [CodSexo] [char](3) NULL,
8 [Foto] [image] NULL,
9 [CodEstado] [char](3) NULL,
[Terminal] [varchar](15) NULL,
10 [FechaRegi] [date] NULL,
11 [UsuarioRegi] [varchar](15) NULL,
12 [FechaModi] [date] NULL,
13 [UsuarioModi] [varchar](15) NULL,
14 CONSTRAINT [PK_Empleado] PRIMARY KEY CLUSTERED
(
15 [CodEmpleado] ASC
16)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
17ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
18) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
19
1.2 Procedimientos Almacenados para Generar Codigo, Insertar, Actualizar, Eliminar y Listar
Pasos:
Click derecho en el proyecto "BusinessEntities" y agregar una nueva clase con el nombre
de "EmpleadoBE"
Agregar el siguiente codigo dentro de la clase "EmpleadoBE"
Pasos:
Crear una Clase llamada "Conexion" para agregar la cadena de conexion necesaria y poder
tener comunicación con la base de datos (SQL Server).
La Clase Conexion.vb
?
1
2 Imports System.Data
Imports System.Data.SqlClient
3
4 Public Class Conexion
5 Public Function Conexion() As SqlConnection
6 'Cambiar la Base de Datos y el Password de acuerdo a su configuracion
7 Dim cadconex As String = "Server=.;DATABASE=xxx;User ID=sa;Password=xxx"
8 Dim cn As New SqlConnection(cadconex)
Return cn
9 End Function
10End Class
11
Pasos:
Click derecho en el proyecto "DataAccess" y agregar una nueva clase con el nombre de
"EmpleadoDA"
Agregar el siguiente codigo dentro de la clase "EmpleadoDA"
La Clase EmpleadoDA.vb
1 Imports BusinessEntities 'Importamos la capa de entidades, si tienen error es
porque no se agrego la referencia
2 Imports System.Data
3 Imports System.Data.SqlClient
4
5 Public Class EmpleadoDA
6 'Instanciamos el objeto _Conexion de la clase Conexion para obtener la cadena
7 de conexion a la BD
Dim _Conexion As New Conexion
8
9 'Funcion que me ve permitir generar el codigo del empleado
10 Private Function GenerarCorrelativo() As String
11 Dim cmd As New SqlCommand
12 Dim da As New SqlDataAdapter
Dim dt As New DataTable
13 cmd.Connection = _Conexion.Conexion
14 cmd.CommandText = "USP_Empleado_GenerarCodigo"
15 cmd.CommandType = CommandType.StoredProcedure
16 da.SelectCommand = cmd
17 da.Fill(dt)
Return dt.Rows(0).Item(0)
18 End Function
19
20 'Metodo para registrar un nuevo empleado
21 Private Sub Registrar(ByVal EmpleadoBE As EmpleadoBE, ByVal sqlCon As
22 SqlConnection, _
ByVal sqlTrans As SqlTransaction)
23
Try
24 Dim cmd As New SqlCommand
25 cmd.CommandText = "USP_Empleado_Insertar"
26 cmd.Connection = sqlCon
27 cmd.Transaction = sqlTrans
cmd.CommandType = CommandType.StoredProcedure
28
29 'Los parametros que va recibir son las propiedades de la clase
30 Empleado
31 cmd.Parameters.Add("@CodEmpleado", SqlDbType.Char).Value =
32 EmpleadoBE.CodEmpleado
cmd.Parameters.Add("@Nombres", SqlDbType.VarChar).Value =
33 EmpleadoBE.Nombres
34 cmd.Parameters.Add("@ApePaterno", SqlDbType.VarChar).Value =
35 EmpleadoBE.ApePaterno
36 cmd.Parameters.Add("@ApeMaterno", SqlDbType.VarChar).Value =
37 EmpleadoBE.ApeMaterno
cmd.Parameters.Add("@FecNacimiento", SqlDbType.Date).Value =
38 EmpleadoBE.FecNacimiento
39 cmd.Parameters.Add("@CodSexo", SqlDbType.Char).Value =
40 EmpleadoBE.CodSexo
41 cmd.Parameters.Add("@Foto", SqlDbType.Image).Value = EmpleadoBE.Foto
42
cmd.Parameters.Add("@CodEstado", SqlDbType.Char).Value =
43 EmpleadoBE.CodEstado
44 cmd.Parameters.Add("@Terminal", SqlDbType.VarChar).Value =
45 EmpleadoBE.Terminal
46 cmd.Parameters.Add("@UsuarioRegi", SqlDbType.VarChar).Value =
47 EmpleadoBE.UsuarioRegi
48
cmd.ExecuteNonQuery()
49 Catch ex As Exception
50 MsgBox(ex.ToString)
51 End Try
52
53 End Sub
54
55 'Metodo para Modificar un empleado
Private Sub Modificar(ByVal EmpleadoBE As EmpleadoBE, ByVal sqlCon As
56 SqlConnection, _
57 ByVal sqlTrans As SqlTransaction)
58 Try
59 Dim cmd As New SqlCommand
cmd.CommandText = "USP_Empleado_Actualizar"
60 cmd.Connection = sqlCon
61 cmd.Transaction = sqlTrans
62 cmd.CommandType = CommandType.StoredProcedure
63
64 cmd.Parameters.Add("@CodEmpleado", SqlDbType.Char).Value =
65 EmpleadoBE.CodEmpleado
cmd.Parameters.Add("@Nombres", SqlDbType.VarChar).Value =
66 EmpleadoBE.Nombres
67 cmd.Parameters.Add("@ApePaterno", SqlDbType.VarChar).Value =
68 EmpleadoBE.ApePaterno
69 cmd.Parameters.Add("@ApeMaterno", SqlDbType.VarChar).Value =
EmpleadoBE.ApeMaterno
70 cmd.Parameters.Add("@FecNacimiento", SqlDbType.Date).Value =
71 EmpleadoBE.FecNacimiento
72 cmd.Parameters.Add("@CodSexo", SqlDbType.Char).Value =
73 EmpleadoBE.CodSexo
74 cmd.Parameters.Add("@Foto", SqlDbType.Image).Value = EmpleadoBE.Foto
75
cmd.Parameters.Add("@CodEstado", SqlDbType.Char).Value =
76 EmpleadoBE.CodEstado
77 cmd.Parameters.Add("@Terminal", SqlDbType.VarChar).Value =
EmpleadoBE.Terminal
78 cmd.Parameters.Add("@UsuarioModi", SqlDbType.VarChar).Value =
79 EmpleadoBE.UsuarioModi
80
81 cmd.ExecuteNonQuery()
82 Catch ex As Exception
MsgBox(ex.ToString)
83 End Try
84
85 End Sub
86
87 'Metodo para Eliminar un empleado
88 Private Sub Eliminar(ByVal EmpleadoBE As EmpleadoBE, ByVal sqlCon As
89 SqlConnection, _
ByVal sqlTrans As SqlTransaction)
90 Try
91 Dim cmd As New SqlCommand
92 cmd.CommandText = "USP_Empleado_Eliminar"
93 cmd.Connection = sqlCon
cmd.Transaction = sqlTrans
94 cmd.CommandType = CommandType.StoredProcedure
95
96 cmd.Parameters.Add("@CodEmpleado", SqlDbType.Char).Value =
97 EmpleadoBE.CodEmpleado
98
99 cmd.ExecuteNonQuery()
10 Catch ex As Exception
MsgBox(ex.ToString)
0 End Try
10
1 End Sub
10
2 'Funcion Principal que hara toda la logica para grabar la data
10 Public Function GrabarEmpleado(ByVal EmpleadoBE As EmpleadoBE, ByVal flagAccion
3 As String) As Boolean
Dim resultado As Boolean = True
10 Dim cn As New SqlConnection
4 Dim sqlTrans As SqlTransaction
10 Dim correlativo As String
5
10 cn = _Conexion.Conexion
cn.Open()
6 sqlTrans = cn.BeginTransaction
10
7 Try
10 'N:Nuevo M:Modificar E:Eliminar
8
10 If flagAccion = "N" Then
9 correlativo = GenerarCorrelativo()
EmpleadoBE.CodEmpleado = correlativo
11 Registrar(EmpleadoBE, cn, sqlTrans)
0 End If
11
1 If flagAccion = "M" Then
11 Modificar(EmpleadoBE, cn, sqlTrans)
End If
2
11 If flagAccion = "E" Then
3 Eliminar(EmpleadoBE, cn, sqlTrans)
End If
11
4
11 sqlTrans.Commit()
5 resultado = True
11
6 Catch ex As SqlException
11 sqlTrans.Rollback()
resultado = False
7 Catch ex As Exception
11 sqlTrans.Rollback()
8 resultado = False
11 Finally
9 cn.Close()
sqlTrans = Nothing
12 End Try
0
12 Return resultado
1 End Function
12
2
12 'Funcion que me va permitir capturar la lista de registros en la tabla
empleado y que me va retornar
3 'un Datatable
12 Public Function ListarEmpleados(ByVal Criterio As String) As DataTable
4 Dim cmd As New SqlCommand
12 Dim da As New SqlDataAdapter
5 Dim dt As New DataTable
12
cmd.Connection = _Conexion.Conexion
6 cmd.CommandText = "USP_Empleado_Listar"
12 cmd.CommandType = CommandType.StoredProcedure
7
12 cmd.Parameters.Add("@Criterio", SqlDbType.VarChar).Value = Criterio
8 da.SelectCommand = cmd
12 da.Fill(dt)
Return dt
9 End Function
13 End Class
0
13
1
13
2
13
3
13
4
13
5
13
6
13
7
13
8
13
9
14
0
14
1
14
2
14
3
14
4
14
5
14
6
14
7
14
8
14
9
15
0
15
1
15
2
15
3
15
4
15
5
15
6
15
7
15
8
15
9
16
0
16
1
16
2
16
3
Click derecho en el proyecto " " y agregar una nueva clase con el nombre de
"EmpleadoBL"
Agregar el siguiente codigo dentro de la clase "EmpleadoBL"
La Clase EmpleadoBL.vb
?
1
2 Imports BusinessEntities 'Importamos la capa de entidades
3 Imports DataAccess 'Importamos la capa de acceso a datos
4 Public Class EmpleadoBL
5 'Instanciamos el objeto _EmpleadoDA de la Clase EmpleadoDA
6 Dim _EmpleadoDA As New EmpleadoDA
7
Public Function GrabarEmpleado(ByVal EmpleadoBE As EmpleadoBE, _
8 ByVal flagAccion As String) As Boolean
9 Return _EmpleadoDA.GrabarEmpleado(EmpleadoBE, flagAccion)
10 End Function
11
12 Public Function ListarEmpleados(ByVal Criterio As String) As DataTable
Return _EmpleadoDA.ListarEmpleados(Criterio)
13
End Function
14
15
2.5 Añadiendo la Capa de Presentación
Esta capa es la que contiene las interfaces en las que el usuario interactua con el sistema.
Pasos:
Name:
btnAgregar
Foto
Enable:
False
Name:
btnQuitarFo
to
Enable:
False
Doble Click en "My Project"(que está dentro del proyecto "Presentacion") y seleccionar la
opción "Application" (está en la parte laterial izquierda), luego seleccionar a "FrmTutorial"
como formulario de inicio (Ver figura)