Está en la página 1de 238

Lenguaje de programacion II

MANUAL DEL PARTICIPANTE


Lenguaje de programación II

Tabla de contenidos

TAREA 1.-Diseña Aplicación con patron NCAPAS ...................................... 12


Diseña Patron MVC ...................................................................................... 13
Diseña e implementa entidades en capa EntityFramework ................................ 21
Diseña mapeo con Dapper ............................................................................ 38
Implementa control enlazado a datos con Datatable ........................................ 45
Implementa control enlazado a datos mediante Dataset .................................... 50
TAREA 2.-Implementa aplicación con patron MVC .................................... 57
Implementa manejo de transacciones en Arquitectura Ncapas............................ 57
Implementa CRUD utilizando objeto Command con SQL .................................... 64
Elabora Consulta utilizando manejo de datos desconectados .............................. 81
Valida controles de forma segura en capa Negocio ........................................... 89
TAREA 3.-Implementa CRUD en taller NCAPAS ......................................... 95
Implementa metodo de servicio utilizando Windows Comunication Fundation ....... 96
Implementa metodos Dataset en CRUD ......................................................... 105
Elabora consulta utilizando LINQ con SQL ...................................................... 117
Exportar Datos A ExceL ............................................................................... 131
TAREA 4.-Diseña Reportes en taller CRUD .............................................. 139
Diseña reportes con Report Viewer, Crystal Report ....................................... 1400
Genera Reporte con parametros de consulta o quiebres .................................. 148
Diseña Reporting services ............................................................................ 153
TAREA 5.-Implementa Taller CRUD En proyecto ..................................... 167
Enlaza Controles de datos en web forms con DataSource y templates ............... 168
Enlaza control con GridView ......................................................................... 173
Genera Proyecto De Instalación .................................................................... 188

Escuela de Tecnologías de la Información Pagina 2


Desarrollo de Software

LENGUAJE DE PROGRAMACIÓN II
Objetivo General
El curso tiene como objetivo que el participante diseñe e implemente aplicaciones
orientadas a arquitecturas cliente / servidor y Ncapas aplicando las diversas técnicas de
desarrollo para lo cual se tomara como premisa anexos complementarios que van a
permitir una mejor practica en el desarrollo del objetivo para lo cual por ejemplo iniciara
con una introducción:

Introducción al acceso a una base de datos mediante el lenguaje C#


con SQL server
en el siguiente ejemplo aplicativo se recomienda desarrollar los siguientes ejercicios.

Elabora Consultas a un servidor de Base de datos


Ejercicio 01: Se pide implementar un programa que permita listar los registros de la tabla
tb_clientes almacenados en la base de datos Negocios2018. Considere que el manejador
de datos es SQL Server, el identificador del usuario es sa y su clase es sql.
Solución: El manejador SQL Server está administrando la base de datos Negocios2018,
el cual almacena la tabla tb_clientes, tal como se muestra.

Pagina 3 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación en Visual Studio 2015 – Visual C#

Selecciona el proyecto en Visual C#: Aplicaciones para Windows Form

Escuela de Tecnologías de la Información Pagina 4


Desarrollo de Software

Diseño del Formulario


Diseña el formulario, tal como se muestra en la figura adjunta.

Programación
Importar la librería (System.Data.SqlClient) para trabajar con la base de datos en SQL
Server

Pagina 5 Escuela de Tecnologías de la Información


Lenguaje de programación II

Defina la conexión a la base de datos: En esta operación instanciar la clase SqlConnection


donde defina: server, database, uid (identificador de usuario) y pwd (clave del usuario),
tal como se muestra.

Programa el evento Load del Formulario, para recuperar los registros de la tabla
tb_clientes, ejecutando el comando Select desde un DataAdapter, luego los registros
obtenidos por el DataAdapter se poblarán en el DataTable, visualizando los registros en el
control dgClientes.

Presione la tecla F5, para ejecutar el Formulario

Escuela de Tecnologías de la Información Pagina 6


Desarrollo de Software

Ejercicio 02: Se pide implementar un programa que permita ejecutar un procedimiento


almacenado, creado en la base de datos, donde lista los registros de la tabla
tb_productos.
Considere que el manejador de datos es SQL Server, el identificador del usuario es sa y
su clase es sql.
Solución.

El manejador SQL Server está administrando la base de datos Negocios2018, el cual


almacena el procedimiento almacenado usp_productos, tal como se muestra.

Pagina 7 Escuela de Tecnologías de la Información


Lenguaje de programación II

Agregando un Formulario al proyecto


Desde el explorador de proyecto, hacer click derecho al proyecto y selecciona la opción
Agregar  Windows Form, tal como se muestra

Selecciona el elemento Windows Form, y asigne el nombre del Formulario: Form2, tal como
se muestra. Presiona a continuación el botón AGREGAR

Escuela de Tecnologías de la Información Pagina 8


Desarrollo de Software

Diseño del Formulario

Diseña el formulario tal como se muestra, considere que el control para visualizar los
registros es el DataGridView.

Programación
Importar la librería (System.Data.SqlClient) para trabajar con la base de datos en SQL
Server

Pagina 9 Escuela de Tecnologías de la Información


Lenguaje de programación II

Defina la conexión a la base de datos: En esta operación instanciar la clase SqlConnection


donde defina: server, database, uid (identificador de usuario) y pwd (clave del usuario),
tal como se muestra.

Programa el evento Load, donde ejecuta el proceso de la consulta ejecutando el


procedimiento almacenado.

Escuela de Tecnologías de la Información Pagina 10


Desarrollo de Software

Cambia el Formulario en Program.cs

Presiona la tecla F5 para ejecutar el Formulario

Pagina 11 Escuela de Tecnologías de la Información


Lenguaje de programación II

Tarea 1

Diseña Aplicación con patrón


Ncapas
El técnico profesional en Desarrollo de software al
término de esta tarea podrá diseñar arquitectura
de Ncapas, reconocer y aplicar el paradigma de la
Programación orientada a objetos esta tarea
deberá desarrollar las siguientes operaciones
Diseña Patron MVC

Diseña e implementa entidades en capa


EntityFramework

Diseña mapeo con Dapper

implementa control enlazado a datos con Datatable

implementa control enlazado a datos mediante


Dataset

Escuela de Tecnologías de la Información Pagina 12


Desarrollo de Software

Diseña Aplicación con


patron NCAPAS
Diseña Patron MVC
Arquitectura N CAPAS

El Patrón de arquitectura por capas es una de las técnicas más comunes que los arquitectos
de software utilizan para dividir sistemas de software complicados. Al pensar en un sistema
en términos de capas, se imaginan los principales subsistemas de software ubicados de la
misma forma que las capas de un pastel, donde cada capa descansa sobre la inferior. En
este esquema la capa más alta utiliza varios servicios definidos por la inferior, pero la
última es inconsciente de la superior. Además, normalmente cada capa oculta las capas
inferiores de los siguientes superiores a esta.

Los beneficios de trabajar un sistema en capas son:

–Se puede entender una capa como un todo, sin considerar las otras.

– Las capas se pueden sustituir con implementaciones alternativas de los mismos servicios
básicos

– Las capas se pueden sustituir con implementaciones alternativas de los mismos servicios
básicos

–Se minimizan dependencias entre capas.

– Las capas posibilitan la estandarización de servicios

– Luego de tener una capa construida, puede ser utilizada por muchos servicios de mayor
nivel.

–La imagen que se muestra a continuación presenta el esquema de una arquitectura


siguiendo este patrón:

Pagina 13 Escuela de Tecnologías de la Información


Lenguaje de programación II

Diseñando el patrón de capas

Creando la solución en blanco

Escuela de Tecnologías de la Información Pagina 14


Desarrollo de Software

Diseñando la capa de presentación

Agregando un proyecto de tipo Windows form en csharp (c#)

Pagina 15 Escuela de Tecnologías de la Información


Lenguaje de programación II

CAPA DE PRESENTACION

Creando la capa de Negocio

Agregando la carpeta

Creación del proyecto BIBLIOTECA DE CLASES

Escuela de Tecnologías de la Información Pagina 16


Desarrollo de Software

Creando la capa de Datos


Agregando la carpeta Capa_Datos y un proyecto Biblioteca de Clases

Agregado un proyecto Biblioteca de clases en una carpeta Bean para el manejo de


entidades

Solución NCAPAS

Pagina 17 Escuela de Tecnologías de la Información


Lenguaje de programación II

Referenciando los proyectos desde la capa de presentación

Activando los proyectos a referenciar

Escuela de Tecnologías de la Información Pagina 18


Desarrollo de Software

Referenciando los proyectos desde la capa de negocio

Activar los proyectos

Pagina 19 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ahora en la capa de datos

Referenciando el proyecto E_Proyecto de los entityframework

Escuela de Tecnologías de la Información Pagina 20


Desarrollo de Software

Diseña e implementa entidades en capa EntityFramework


En la capa Bean implementar la clase Empleado

Implementar las siguientes propiedades

Pagina 21 Escuela de Tecnologías de la Información


Lenguaje de programación II

Aplicación 01
Se desea implementar una solución que permita realizar el mantenimiento a la tabla de
Clientes utilizando la programación de capas Se pide:

1. Diseño e implementación de cada una de las capas

2. Diseño de la capa de presentación, formulario para ejecutar los procesos del negocio.

MODELO DE DATOS.

En este proceso trabajaremos con la base de datos Comercial2019, donde realizaremos el


mantenimiento a la tabla tb_clientes la cual está relacionada a la tabla tb_paises, tal como
se muestra en la gráfica

CAPA DE DATOS: BUSINESS ENTITY

Defina un proyecto de tipo Biblioteca de Clases y la llamaremos EntityLayer; el nombre de


la solución será Solucion, tal como se muestra. Terminado de configurar el proyecto
presionar el botón ACEPTAR

Escuela de Tecnologías de la Información Pagina 22


Desarrollo de Software

A continuación, agregar una clase al proyecto: Selecciona del proyecto EntityLayer la


opción Agregar; desplegada la lista, seleccione la opción Clase… tal como se muestra.

En esta ventana, el elemento Clase se encuentra seleccionado; asigne el nombre a la clase:


ClienteBE. Luego presione el botón AGREGAR

Pagina 23 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la clase ClienteBE, como primer paso, vamos a definir los atributos de la clase,
los cuales representan a las columnas de la tabla tb_Clientes, tal como se muestra

Definida la capa de Datos, a continuación proceda a AGREGAR UN NUEVO PROYECTO a la


solución, tal como se muestra

Escuela de Tecnologías de la Información Pagina 24


Desarrollo de Software

Selecciona el proyecto Biblioteca de Clases, el cual tendrá como nombre DAO (Capa de
Acceso a Datos), luego presione el botón ACEPTAR

En el proyecto DAO, define los métodos del proceso de mantenimiento; para ello requiere
el modelo de datos (EntityLayer) ya implementada. Para hacer una referencia hacia el
proyecto BusinessEntity, establecer una referencia en el proyecto DAO: Click derecho en
el proyecto DAO y seleccione la opción Agregar Referencia

Pagina 25 Escuela de Tecnologías de la Información


Lenguaje de programación II

En el proyecto DAO agrega la clase conexionEL, para definir la conexión.

Escuela de Tecnologías de la Información Pagina 26


Desarrollo de Software

En la Clase conexionDAO defina la conexión a la base de datos.

En el proyecto DAO, agrega una clase, llamada paisDAO, tal como se muestra.

Pagina 27 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la Clase PaisDAO defina los métodos a implementar, tal como se muestra

En el proyecto DAO, agrega una clase llamada clienteDAO, tal como se muestra

Escuela de Tecnologías de la Información Pagina 28


Desarrollo de Software

En la Clase ClienteDAO importa el proyecto BusinessEntity donde utilizamos la clase


ClienteBE; instancia la conexión, tal como:

En la clase clienteDAO defina la función Agregar que permita insertar un registro a la


tabla tb_clientes retornando un mensaje de tipo string

Pagina 29 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la clase clienteDAO defina el método Eliminar que permita eliminar un registro a la tabla
tb_clientes por el campo idcliente

En la clase ClienteDAO defina la función Actualizar que permita actualizar un registro a la


tabla tb_clientes por el campo idcliente retornando un mensaje

Escuela de Tecnologías de la Información Pagina 30


Desarrollo de Software

Definida la capa DAO, a continuación agregamos la capa BusinessLayer (Capa Lógica del
Negocio), luego presione el botón ACEPTAR

El proyecto BusinessLayer, implementa los métodos definidos en el proyecto DAO; para


ello requiere el proyecto BusinessEntity y el proyecto DAO.Para hacer una referencia
hacia los proyectos, hacer Click derecho en el proyecto BusinessLayer y selecciona la
opción Agregar Referencia.

En la ventana Agregar Referencia, seleccione los proyectos: DataLayer y BussinessLayer,


tal como se muestra; presione el botón ACEPTAR

Pagina 31 Escuela de Tecnologías de la Información


Lenguaje de programación II

Como siguiente paso, vamos a agregar elementos al proyecto BusinessLayer para


ejecutar los métodos definidos en el proyectoDAO

En la ventana AGREGAR ELEMENTO, selecciona el elemento CLASE y asigne un nombre:


paisBL, a continuación presione el botón AGREGAR

Escuela de Tecnologías de la Información Pagina 32


Desarrollo de Software

Para implementar la clase paisBL, importamos las librerías de trabajo; instanciamos


PaisDAO y defina la función Listado que ejecuta el método Listado de PaisDAO

A continuación, agrega un nuevo elemento llamado ClienteBL, tal como se muestra

Pagina 33 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementar la clase llamada ClienteBL, primero importamos las librerías de trabajo.


Defina los métodos los cuales desencadenan los métodos de ClienteDAO

Definida el proyecto BusinessLayer, a continuación proceda a AGREGAR UN NUEVO


PROYECTO a la solución, tal como se muestra

Escuela de Tecnologías de la Información Pagina 34


Desarrollo de Software

Antes de iniciar, debemos establecer al proyecto appSolucion como proyecto de inicio,


esto es por ser la interfaz de usuario, es decir, la capa de presentación del proyecto.
Selecciona los proyectos EntityLayer y BusinessLayer, tal como se muestra

Agrega un Formulario en el proyecto appSolucion. Dibuja la GUI, la como se muestra

Pagina 35 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la ventana de código, importar las librerías: EntityLayer y BusinessLayer, instanciar


las clases de los procesos tal como se muestra

A continuación, programa el evento Click del botón AGREGAR, el cual tiene como objetivo
ejecutar el método AGREGA del objeto cliente (clienteBL)

Escuela de Tecnologías de la Información Pagina 36


Desarrollo de Software

A continuación, programa el evento Click del botón ACTUALIZAR, el cual tiene como
objetivo ejecutar el método ACTUALIZAR del objeto cliente (clienteBL)

A continuación, programa el evento Click del botón ELIMINAR, el cual tiene como objetivo
ejecutar el método ELIMINAR del objeto cliente (ClienteBL)

Programa el evento CellClick del control DataGridView1, donde al seleccionar una fila del
control (CurrentRow), visualice los datos en los controles del Formulario

Pagina 37 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejecute el proyecto y ejecuta las operaciones de Agregar, Modificar y eliminar los registro
de un cliente.

Diseña mapeo con Dapper


Ejemplo 1

Crear una aplicacion utilizando el acceso a una base de datos agregar el ORM
dapper a su proyecto

crear un Proyecto

Escuela de Tecnologías de la Información Pagina 38


Desarrollo de Software

Escribir el nombre para instalar el componente

Debera mostrar de la siguiente manera una vez instalado

Mapeando la table

Crear una clase de nombre Category

Pagina 39 Escuela de Tecnologías de la Información


Lenguaje de programación II

Agregar una clase de nombre Productos

Agregar una clase de nombre DataService

Escuela de Tecnologías de la Información Pagina 40


Desarrollo de Software

Referenciando el system.configuration

Crear la cadena de conexion en el appconfig

Importer las librerias a la clase

Pagina 41 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementar la clase DataService

Comprobando registros

Implementando el siguiente metodo

Modicaremos y utilizaras un procedimiento almacenado

Escuela de Tecnologías de la Información Pagina 42


Desarrollo de Software

Modificando el metodo GetProductByCategopryId (utilizando procedimiento almacenados)

Presionar la Tecla f5 para ejecutar el formulario


Resultado

Pagina 43 Escuela de Tecnologías de la Información


Lenguaje de programación II

Escribir el nombre para instalar el componente

Debera mostrar de la siguiente manera una vez instalado

Escuela de Tecnologías de la Información Pagina 44


Desarrollo de Software

Implementa control enlazado a datos con Datatable


Practica 1

Se desea implementar un programa que permita filtrar los registros de la tabla pedidoscabe
por un determinado Cliente seleccionado desde un control ComboBox.

Para lo cual deberá enlazar los datos a un combobox.

Diseñar el formulario

Programacion

Crear la cadena de conexión

Pagina 45 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementar el Datatable Clientes

Programando en el evento Load del formulario

Programando para visualizar los pedidos según el tipo de cliente, para lo cual se programa
a un DataTable pedidos

Escuela de Tecnologías de la Información Pagina 46


Desarrollo de Software

Y en el load vinculando el combo con el datagridview

Solución

Pagina 47 Escuela de Tecnologías de la Información


Lenguaje de programación II

Practica 2

Programando consulta utilizando LinQ

PROGRAMACIÓN.

Instancia el contexto de Datos a nivel Formulario. Programa el evento Load para cargar los
clientes al comboBox, utilice LINQ to SQL para obtener el listado de clientes

Escuela de Tecnologías de la Información Pagina 48


Desarrollo de Software

Programe el evento Clic del botón Consulta, donde filtre los registros de pedidoscabe por
un determinado cliente seleccionado desde el ComboBox utilizando LINQ to SQL.

Presiona la tecla F5, selecciona un cliente desde el comboBox, al presionar el botón


Consulta, listamos los pedidoscabe por el cliente seleccionado.

Pagina 49 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementa control enlazado a datos mediante Dataset


Agregando un formulario al proyecto

Diseñando el formulario

Escuela de Tecnologías de la Información Pagina 50


Desarrollo de Software

Agregando un elemento al proyecto de tipo dataset

Muestra la ventana de explorador de servidor

Agregando la conexión

Pagina 51 Escuela de Tecnologías de la Información


Lenguaje de programación II

Seleccionar la base de datos

Diseñar la siguiente relación

Escuela de Tecnologías de la Información Pagina 52


Desarrollo de Software

Estableciendo las propiedades a los controles

Datasource

Displaymember

Guardar (Ctrl + s)

Pagina 53 Escuela de Tecnologías de la Información


Lenguaje de programación II

Estableciendo propiedades en el Datagridview

Crear la instancia de conexión

Escuela de Tecnologías de la Información Pagina 54


Desarrollo de Software

Implementar los DataTable

Ahora en evento Load

El formulario de consulta se vería de la siguiente manera:

Pagina 55 Escuela de Tecnologías de la Información


Lenguaje de programación II

Tarea 2

Implementa Aplicación con


patrón Mvc
El técnico profesional en Desarrollo de software al término
de esta tarea podrá implementar aplicaciones con patrón
Mvc, para programar soluciones corporativas esta tarea
deberá desarrollar las siguientes operaciones
Implementa manejo de transacciones en Arquitectura Ncapas

Implementa CRUD utilizando objeto Command con SQL

Elabora Consulta utiizando manejo de datos desconectados

Valida controles de forma segura en capa Negocio.

Escuela de Tecnologías de la Información Pagina 56


Desarrollo de Software

Implementa aplicación con


patron MVC
Implementa manejo de transacciones en Arquitectura Ncapas
Manejo de Transacciones

Ejercicio 01: Se desea implementar un Formulario donde realice el mantenimiento a la tabla


tb_paises, utilice procedimientos almacenados en el mantenimiento. Implemente transacciones
en el proceso.

Defina los procedimientos almacenados del proceso

Procedure que lista los países

Procedure que inserta un registro a la


tabla tb_paises

Procedure que actualiza un registro a


la tabla tb_paises por su idpais

Procedure que elimina un registro a la


tabla tb_paises por su idpais

Pagina 57 Escuela de Tecnologías de la Información


Lenguaje de programación II

Dentro de la etiqueta <connectionStrings> agrega una cadena de conexión con la etiqueta


<add>, tal como se muestra

Escuela de Tecnologías de la Información Pagina 58


Desarrollo de Software

Agregando la librería de Configuraciones


Para hacer uso de las etiquetas definidas en el App.Config, debemos agregar al proyecto la
librería: System.Configuration. Desde la opción de Proyectos, selecciona la opción Agregar
referencia

Selecciona la librería System.Configuration, tal como se muestra. Presiona el botón ACEPTAR

Pagina 59 Escuela de Tecnologías de la Información


Lenguaje de programación II

Diseño del Formulario


A continuación diseñe el formulario, tal como se muestra

PROGRAMACIÓN
Defina las librerías de trabajo: System.Data.SqlClient y System.Configuration

Defina la conexión de la base de datos en el formulario

Defina un método de tipo DataTable donde retorna los registros de la tabla tb_paises.

Escuela de Tecnologías de la Información Pagina 60


Desarrollo de Software

Programa el evento Load del Formulario, donde al cargar el Formulario ejecutamos la función
paises(), visualizando los resultados en el control DataGridView: dgPaises

Programa el evento Click del botón Agregar, donde ejecutamos el proceso para agregar
un
registro a la tabla tb_paises. En este proceso utilizamos el objeto Command para
ejecutar un
procedimiento almacenado de inserción (usp_addpais)

Pagina 61 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento Click del botón Modificar, donde ejecutamos el proceso para modificar un
registro a la tabla tb_paises por su campo idpais. En este proceso utilizamos el objeto Command
para ejecutar el procedure usp_updatepais

Escuela de Tecnologías de la Información Pagina 62


Desarrollo de Software

Programa el evento Click del botón Eliminar, donde ejecutamos el proceso para eliminar un
registro a la tabla tb_paises por su campo idpais. En este proceso utilizamos el objeto Command
para ejecutar el procedure usp_deletepais

Programa el evento CellClick del control dgPais, donde al seleccionar una fila (CurrentRow),
visualizamos los datos en los controles

Presiona la tecla F5 para ejecutar los procesos del Formulario

Pagina 63 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementa CRUD utilizando objeto Command con SQL


Trabajando con el Command
Ejercicio 01: Se desea implementar un Formulario donde realice el mantenimiento a la tabla
tb_paises, utilice procedimientos almacenados en el mantenimiento

DISEÑO DE PROCEDIMIENTOS ALMACENADOS

Procedure que lista los países

Procedure que inserta un registro


a la tabla tb_paises

Procedure que actualiza un


registro a la tabla tb_paises por su

Procedure que elimina un registro


a la tabla tb_paises por su idpais

Programación en Visual Studio 2105 – Visual C#

Selecciona la opción

Escuela de Tecnologías de la Información Pagina 64


Desarrollo de Software

Selecciona el proyecto en Visual C#: Aplicaciones para Windows Form

2. Selecciona el
1. Selecciona la tipo de proyecto
plantilla

3. Defina el nombre
y ubicación

Definiendo la etiqueta

En el App.Config defina la etiqueta <connectionStrings> tal como se muestra en la figura

Definir la etiqueta
<connectionStrings>

Pagina 65 Escuela de Tecnologías de la Información


Lenguaje de programación II

Dentro de la etiqueta <connectionStrings> agrega una cadena de conexión con la etiqueta

<add>, tal como se muestra

Agregando una cadena


de conexión

Agregando la librería de Configuraciones

Para hacer uso de las etiquetas definidas en el App.Config, debemos agregar al proyecto la librería:
System.Configuration. Desde la opción de Proyectos, selecciona la opción Agregar referencia

Selecciona la opción
para agregar la librería

Escuela de Tecnologías de la Información Pagina 66


Desarrollo de Software

Selecciona la librería System.Configuration, tal como se muestra. Presiona el botón ACEPTAR

Selecciona la librería, la cual


estará con un check

Diseño del Formulario


A continuación, diseñe el formulario, tal como se muestra

Control TextBox: txtCodigo

Control TextBox: txtNombre

Control DataGridView:
dgPaises

Pagina 67 Escuela de Tecnologías de la Información


Lenguaje de programación II

PROGRAMACIÓN

Defina las librerías de trabajo: System.Data.SqlClient y System.Configuration

Importar las librerías


de trabajo

Defina la conexión de la
base de datos en el
formulario

Defina un método de tipo DataTable donde retorna los registros de la tabla tb_paises.

Programa el evento Load, para


ejecutar paises(), cargando los
registros en dgPaises

Escuela de Tecnologías de la Información Pagina 68


Desarrollo de Software

Programa el evento Load del Formulario, donde al cargar el Formulario ejecutamos la función
paises(), visualizando los resultado en el control DataGridView: dgPaises

Ejecuta un procedimiento
almacenado para retornar
los paises

Programa el evento Click del botón Agregar. En este proceso el objeto Command para ejecutar
un procedimiento almacenado de inserción (usp_addpais)

Pagina 69 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejecutamos la página para comprobar el proceso: ingresa el código y nombre del país. Al presionar
el botón AGREGAR, se ejecuta el proceso visualizando un mensaje, tal como se muestra.

Programa el evento Click del botón Actualizar, definimos el objeto Command para ejecutar el
procedure usp_updatepais, tal como se muestra

Escuela de Tecnologías de la Información Pagina 70


Desarrollo de Software

Ejecutamos la página para comprobar el proceso: ingresa el código y


nombre del país. Al presionar el botón ACTUALIZAR, se ejecuta el proceso visualizando un
mensaje, tal como se muestra

Programa el evento Click del botón Eliminar, donde ejecutamos el proceso para eliminar un registro
a la tabla tb_paises por su campo idpais. En este proceso utilizamos el objeto Command para
ejecutar el procedure usp_deletepais

Pagina 71 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento CellClick del control dgPais, donde al seleccionar una fila
(CurrentRow), visualizamos los datos en los controles

Presiona la tecla F5 para ejecutar los procesos del Formulario

Enlazando datos Trabajando con el Command


Ejercicio 01: Se desea implementar un Formulario donde realice el mantenimiento a la tabla
tb_empresa donde se incluya el logo de la empresa (imágenes o foto), utilice procedimientos
almacenados en el mantenimiento.

DISEÑO DE PROCEDIMIENTOS ALMACENADOS

Escuela de Tecnologías de la Información Pagina 72


Desarrollo de Software

Pagina 73 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación en Visual Studio 2105 – Visual C# Selecciona el proyecto


en Visual C#:
Aplicaciones para Windows Form

Definiendo la etiqueta
En el App.Config defina la etiqueta <connectionStrings> tal como se muestra en la figura

Dentro de la etiqueta <connectionStrings> agrega una cadena de conexión con la etiqueta


<add>, tal como se muestra

Agregando una cadena de conexión

Escuela de Tecnologías de la Información Pagina 74


Desarrollo de Software

Agregando la librería de Configuraciones Para


hacer uso de las etiquetas definidas en el App.Config, debemos agregar al proyecto la
librería: System.Configuration. Desde la opción de Proyectos, selecciona la opción Agregar
referencia

Selecciona la librería System.Configuration, tal como se muestra. Presiona el botón ACEPTAR

DISEÑO DEL FORMULARIO

PROGRAMACIÓN
Defina las librerías de trabajo: System.Data.SqlClient (Base de Datos en SQL Server) y el
System.Configuration (uso de las etiquetas app.config)

Pagina 75 Escuela de Tecnologías de la Información


Lenguaje de programación II

Defina la función DataTable países() donde retorna los registros de tb_paises; y la función
empresa() donde retorna los registros de tb_empresa.

Escuela de Tecnologías de la Información Pagina 76


Desarrollo de Software

Programa el evento Load del Formulario, donde al cargar el Formulario configura el control
ComboBox cboPais con los registros de países, y listamos los registros de empresa en el control
DataGridView: dgEmpresa

Programa el evento Click del botón Buscar, donde permita buscar un archivo de imagen (jpg)
visualizando el archivo de imagen en el control pbFoto

Pagina 77 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento Click del botón Agregar, utilizamos el objeto Command para ejecutar un
procedimiento almacenado usp_addempresa

Ejecutamos el formulario, ingresamos datos, al presionar el botón AGREGAR insertamos el


registro

Escuela de Tecnologías de la Información Pagina 78


Desarrollo de Software

Programa el evento Click del botón Actualizar; en este proceso un Command ejecuta el
procedure usp_updateEmpresa donde actualiza los datos de una empresa

Programa el evento

Click del botón Eliminar. En este proceso utilizamos el objeto Command

para ejecutar el procedure usp_deleteEmpresa

Pagina 79 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento CellClick del control dgEmpresa, donde al seleccionar una fila, visualizamos
los datos en los controles

Presiona la tecla F5 para ejecutar los procesos del Formulario

Escuela de Tecnologías de la Información Pagina 80


Desarrollo de Software

Elabora Consulta utilizando manejo de datos


desconectados
Ejercicio 01: Se desea implementar un Formulario donde realice el mantenimiento a la tabla
tb_paises, utilice procedimientos almacenados en el mantenimiento

DISEÑO DE PROCEDIMIENTOS ALMACENADOS

Procedure que lista los países

Procedure que inserta un registro


a la tabla tb_paises

Procedure que actualiza un


registro a la tabla tb_paises por su

Procedure que elimina un registro


a la tabla tb_paises por su idpais

Programación en Visual Studio 2105 – Visual C#

Selecciona la opción

Pagina 81 Escuela de Tecnologías de la Información


Lenguaje de programación II

Selecciona el proyecto en Visual C#: Aplicaciones para Windows Form

2. Selecciona el
1. Selecciona la tipo de proyecto
plantilla

3. Defina el nombre
y ubicación

Definiendo la etiqueta

En el App.Config defina la etiqueta <connectionStrings> tal como se muestra en la figura

Definir la etiqueta
<connectionStrings>

Dentro de la etiqueta <connectionStrings> agrega una cadena de conexión con la etiqueta

<add>, tal como se muestra

Escuela de Tecnologías de la Información Pagina 82


Desarrollo de Software

Agregando una cadena


de conexión

Agregando la librería de Configuraciones


Para hacer uso de las etiquetas definidas en el App.Config, debemos agregar al proyecto la librería:
System.Configuration. Desde la opción de Proyectos, selecciona la opción Agregar referencia

Selecciona la opción
para agregar la librería

Selecciona la librería System.Configuration, tal como se muestra. Presiona el botón ACEPTAR

Pagina 83 Escuela de Tecnologías de la Información


Lenguaje de programación II

Selecciona la librería, la cual


estará con un check

Diseño del Formulario

A continuación, diseñe el formulario, tal como se muestra

Control TextBox: txtCodigo

Control TextBox: txtNombre

Control DataGridView:
dgPaises

Escuela de Tecnologías de la Información Pagina 84


Desarrollo de Software

PROGRAMACIÓN

Defina las librerías de trabajo: System.Data.SqlClient y System.Configuration

Importar las librerías


de trabajo

Defina la conexión de la
base de datos en el
formulario

Defina un método de tipo DataTable donde retorna los registros de la tabla tb_paises.

Programa el evento Load, para


ejecutar paises(), cargando los
registros en dgPaises

Pagina 85 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento Load del Formulario, donde al cargar el Formulario ejecutamos


la función paises(), visualizando los resultado en el control DataGridView: dgPaises

Ejecuta un procedimiento
almacenado para retornar
los paises

Programa el evento Click del botón Agregar. En este proceso el objeto Command para ejecutar un
procedimiento almacenado de inserción (usp_addpais)

Ejecutamos la página para comprobar el proceso: ingresa el código y nombre del país. Al presionar
el botón AGREGAR, se ejecuta el proceso visualizando un mensaje, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 86


Desarrollo de Software

Programa el evento Click del botón Actualizar, definimos el objeto Command para ejecutar el
procedure usp_updatepais, tal como se muestra

Ejecutamos la página para comprobar el proceso: ingresa el código y nombre del país. Al presionar
el botón ACTUALIZAR, se ejecuta el proceso visualizando un mensaje, tal como se muestra

Pagina 87 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el evento Click del botón Eliminar, donde ejecutamos el proceso para eliminar un registro
a la tabla tb_paises por su campo idpais. En este proceso utilizamos el objeto Command para
ejecutar el procedure usp_deletepais

Programa el evento CellClick del control dgPais, donde al seleccionar una fila (CurrentRow),
visualizamos los datos en los controles

Escuela de Tecnologías de la Información Pagina 88


Desarrollo de Software

Presiona la tecla F5 para ejecutar los procesos del Formulario

Valida controles de forma segura en capa Negocio


Trabajando en una aplicación N capas
Se desea implementar un servicio de validación de controles desde la capa de negocio

Crear la base de datos y la tabla persona.

Insertar registros en la tabla

Pagina 89 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la capa BusinessEntities implementar las propiedades

Crear el procedimiento almacenado

Escuela de Tecnologías de la Información Pagina 90


Desarrollo de Software

En la capa de datos DataAccessObjects implementar el método obtenerRegistroPorId

Ahora en la capa BusinessObjects implementar los métodos de validación siguientes

Pagina 91 Escuela de Tecnologías de la Información


Lenguaje de programación II

Escuela de Tecnologías de la Información Pagina 92


Desarrollo de Software

En la capa de datos DataAccessObjects implementar el método


insertarRegistro

En la capa de negocio BusinessObjects implementar el método insertarRegistro

En la capa de presentación diseñar el siguiente formulario

En el load del formulario

Pagina 93 Escuela de Tecnologías de la Información


Lenguaje de programación II

En el botón Agregar programar lo siguiente:

Ejecutar el formulario

Escuela de Tecnologías de la Información Pagina 94


Desarrollo de Software

Tarea 3

Implementa Crud en Taller


Ncapas
El técnico profesional en Desarrollo de software al término
de esta tarea podrá implementa Crud en taller ncapas,
para programar el mantenimiento general de una solucion
corporativas esta tarea deberá desarrollar las siguientes
operaciones
Implementa metodo de servicio utilizando Windows
Comunication Fundation

implementa metodos Dataset en CRUD

Elabora consulta utilizando LINQ con SQL

Exporta datos a excel

Pagina 95 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementa CRUD en taller


NCAPAS
Implementa metodo de servicio utilizando Windows Comunication
Fundation
TRABAJANDO CON WCF
Se desea implementar un servicio de datos, que permita realizar un CRUD sonbre la
tabla tb_clientes.
1. TRABAJANDO CON WINDOWS COMMUNICATION FOUNDATION
Agregar a la solución (appSolucion) un proyecto Visual C# de tipo WCF para definir un
servicio de datos.

A continuación agregue al proyecto WCF un nuevo elemento: Servicio WCF

Defina en la interface IService1, las librerías, el contrato de Servicio y el contrato de


datos

Escuela de Tecnologías de la Información Pagina 96


Desarrollo de Software

En el DataContract Cliente, definimos la estructura de datos, tal como se muestra

Pagina 97 Escuela de Tecnologías de la Información


Lenguaje de programación II

En el ServiceContract, defina los métodos a implementar en el Servicio, tal como se


muestra.

Ubicarse en Service1 e implementar los métodos definidos en IService1, tal como se


muestra

Escuela de Tecnologías de la Información Pagina 98


Desarrollo de Software

A continuación implementamos cada uno de los métodos de Service 1

A continuación implementamos el metodo Paises()

Pagina 99 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementando el metodo Agregar, definiendo el parámetro reg de tipo Cliente

Terminado de implementar los métodos, vamos a ejecutar el servicio en un navegador


para que obtener una dirección por la cual se ejecuta el servicio

Escuela de Tecnologías de la Información Pagina 100


Desarrollo de Software

El navegador nos dara una dirección la cual se copiará en el proyecto

A continuación, en el proyecto de Windows, agregamos una referencia de servicio.


Hacer click derecho al Proyecto, selecciona Agregar referencia de servicio

Pagina 101 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la ventana, copiar la dirección y presionar el boton Ir, donde nos visualiza el


servicio. Desplegar el servicio y visualizamos su Interface. Para terminar asigne un
nombre a la referencia: referenciaNegocios

A continuación dibuja la GUI

Escuela de Tecnologías de la Información Pagina 102


Desarrollo de Software

Programación
Importar la librería del servicio, y luego instanciar el servicio en el formulario

Programa el evento Load del formulario para cargar los datos a los controles, tal como
se muestra

Pagina 103 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el botón Agregar: Instanciar la estructura Cliente, ingresar los datos y


ejecutar el metodo AGREGAR de servicio, visualizando un mensaje

Ejecuta el proyecto, ingresa los datos en el Formulario, al presionar el boton Agregar,


se ejecuta el proceso visualizando un mensaje y actualiza la lista de clientes.

Escuela de Tecnologías de la Información Pagina 104


Desarrollo de Software

Implementa metodos Dataset en CRUD


Estructurar el Proyecto en Ncapas

Ejercicio 01: Se desea implementar un Formulario donde realice el mantenimiento a la tabla


Empleado, utilice procedimientos almacenados en el mantenimiento

En el form1 diseñar el siguiente formulario.

Agregar una clase al proyecto E_Proyecto (EntityFramework)

Asignar nombre a la clase: E_empleado

Pagina 105 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación de las propiedades de la clase Empleado.

Escuela de Tecnologías de la Información Pagina 106


Desarrollo de Software

Crear la instancia

Pagina 107 Escuela de Tecnologías de la Información


Lenguaje de programación II

En la capa de Datos, en la clase Conexión programar el método D_ListaEmpleado

Programación del método DataTable D_ListaEmpleado

Ahora en la capa de negocio agregar una clase con nombre: N_Listaempleado

Escuela de Tecnologías de la Información Pagina 108


Desarrollo de Software

Programación del método N_Listaempleado

Ahora en la capa de presentación del formulario en el evento Load

Visualizando los datos en los controles para su actualización

Programación en el evento CellClick del control dgempleado (Datagridview)

Pagina 109 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación en el botón agregar

Activando las librerías de la capa de datos

Implementando los procedimientos almacenados para el mantenimiento.

Escuela de Tecnologías de la Información Pagina 110


Desarrollo de Software

Primer paso en la capa de datos método D_Agregar

Activando las librerías de la capa de negocio

Implementando el método N_Agregar

Activando las librerías de la capa de presentación

Pagina 111 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación en el botón eliminar de la capa de presentación

En la capa de datos programar el método D_Modificar:

Importar las librerías

Escuela de Tecnologías de la Información Pagina 112


Desarrollo de Software

En la capa de negocio implementar el método N_Modificar

Programar en el método N_Modificar

Importando las librerías al proyecto

Pagina 113 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programación en el evento Click

Ejecutar el archivo

Presiona el botón Modificar

Escuela de Tecnologías de la Información Pagina 114


Desarrollo de Software

Click en el botón Aceptar para visualizar el registro


actualizado

Programación del botón eliminar primero programar en la capa de datos

Programación en la clase N_Empleado de la capa de negocio

Programación en el botón Eliminar

Pagina 115 Escuela de Tecnologías de la Información


Lenguaje de programación II

Activar la librería para invocar al método inputbox de visual Basic

Activando las librerías de la capa de presentación

Escuela de Tecnologías de la Información Pagina 116


Desarrollo de Software

Programación del botón eliminar de la capa de presentación

Elabora consulta utilizando LINQ con SQL


Practica entrenamiento

Ahora empecemos desarrollando algunas consultas básicas, para esto diseñamos el siguiente
formulario:

Diseño De Formulario.
A continuación diseñe el formulario tal como se muestra

Pagina 117 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ahora vamos a codificar el botón buscar de tal manera que ingresemos una categoría y nos
muestre los productos relacionados a esta categoría

Private void btnBuscar_Click(object sender, EventArgs e) {

intdato;

dato = Convert.ToInt32(txtCat.Text);

NeptunoDataContextdb = new NeptunoDataContext();

varlista = from prod in db.Productos where prod.Categorias.IdCategoria == dato

select prod;

DataGridView1.DataSource = lista;

Ejecutemos el programa, ingresemos el parámetro y nos mostrara la información, solicitada.


Excelente salió tal como esperábamos, ahora deseamos que se muestren los campos que nosotros
queremos mostrar, para eso modifiquemos el código anterior de la siguiente manera:

privatevoidbtnBuscar_Click(object sender, EventArgs e) {

intdato;

dato = Convert.ToInt32(txtCat.Text);

NeptunoDataContextdb = newNeptunoDataContext(); varlista = from prod indb.Productos


whereprod.Categorias.IdCategoria == dato selectnew {

ncateg = prod.Categorias.NombreCategoria,

nprod = prod.NombreProducto, nprov = prod.Proveedores.NombreCompañia, precio =


prod.PrecioUnidad };

DataGridView1.DataSource = lista;

Dando como resultado el siguiente listado de datos:

Escuela de Tecnologías de la Información Pagina 118


Desarrollo de Software

Practica 1 Consulta utilizando LINQ to SQL

Se desea implementar una aplicación que permite realizar una consulta de la tabla tb_clientes
utilizando el modelo LINQ to SQL

Diseño Del Datacontext.

Antes de comenzar a utilizar el LINQ to SQL, debemos diseñar el DataContext. Desde el proyecto
selecciona la opción NUEVO ELEMENTO, tal como se muestra.

Selección desde la opción Datos, la plantilla de LINQ to SQL; asigne un nombre.

Pagina 119 Escuela de Tecnologías de la Información


Lenguaje de programación II

Modelo de Contexto de Negocios2017.

Para agregar una conexión, desde la ventana Explorador de servidores, selecciona la opción
Agregar conexión… tal como se muestra.

Selecciona el origen de datos: Microsoft SQL Server

Escuela de Tecnologías de la Información Pagina 120


Desarrollo de Software

Defina la conexión: nombre del servidor, Autenticacion por SQL


Server: usuario y clave; y selecciona la base de datos: Negocios2015. Presiona el botón Aceptar

Teniendo la conexión agregada, arrastre las tablas de la conexión a la base de datos al Contexto.
Al arrastar la primera tabla se visualiza un mensaje de credenciales, ACEPTAR el mensaje

Agregada

Pagina 121 Escuela de Tecnologías de la Información


Lenguaje de programación II

Agregada las tablas, el modelo se muestra.

DISEÑO DE FORMULARIO
Diseña el formulario tal como se muestra

Escuela de Tecnologías de la Información Pagina 122


Desarrollo de Software

PROGRAMACION

Instanciar el dataContext en el Formulario

En el evento Load, ejecutar la consulta LINQ to SQL para listar los clientes, visualizándolos en el
control dgClientes

Presiona la tecla F5, para visualizar la consulta

Pagina 123 Escuela de Tecnologías de la Información


Lenguaje de programación II

LINQ para consultar los clientes

Practica 2

Se desea implementar un programa que permita filtrar los clientes por las iniciales de su
nombre ingresados desde un TextBox.

DISEÑO DE FORMULARIO.

A continuación, diseñe el formulario tal como se muestra

PROGRAMACIÓN.

Instancia el contexto de Datos a nivel Formulario

Escuela de Tecnologías de la Información Pagina 124


Desarrollo de Software

Programa el evento del botón Consulta, donde permite filtrar los


clientes por la inicial de su nombre

Presiona la tecla F5, ingrese la inicial del nombre en el TextBox, al presionar el botón Consulta,
listamos los clientes que coincidan con las iniciales de su nombre.

Filtrar los clientes por la inicial de su nombreCia

Pagina 125 Escuela de Tecnologías de la Información


Lenguaje de programación II

Practica 3

Se desea implementar un programa que permita filtrar los registros de pedidoscabe por un
determinado Cliente seleccionado desde un control ComboBox.

DISEÑO DE FORMULARIO.

A continuación, diseñe el formulario tal como se muestra

PROGRAMACIÓN.

Instancia el contexto de Datos a nivel Formulario. Programa el evento Load para cargar los clientes
al comboBox, utilice LINQ to SQL para obtener el listado de clientes

Escuela de Tecnologías de la Información Pagina 126


Desarrollo de Software

Programe el evento Clic del botón Consulta, donde filtre los registros de pedidoscabe por un
determinado cliente seleccionado desde el ComboBox utilizando LINQ to SQL.

Presiona la tecla F5, selecciona un cliente desde el comboBox, al presionar el botón Consulta,
listamos los pedidoscabe por el cliente seleccionado.

Pagina 127 Escuela de Tecnologías de la Información


Lenguaje de programación II

Manejo De Procedimientos Almacenados En El Linq To Sql

Se tiene los siguientes procedimientos almacenados definidos en la base de datos

Creado los procedimientos almacenados, en el proyecto, actualice la carpeta Procedimientos


Almacenados tal como se muestra

Selecciona la opción Actualizar los objetos en la carpeta procedimientos almacenados

Escuela de Tecnologías de la Información Pagina 128


Desarrollo de Software

Los procedimientos almacenados que se encuentran en la carpeta, serán arrastrados al Contexto,


tal como se muestra en la figura.

Procedimientos agregados al procedures Contexto Control TextBox:

Practica 4

Se desea implementar un programa que permita filtrar los registros de pedidoscabe por un
determinado Año ingresado desde un control TextBox. Ejecute el procedimiento almacenado del
proceso.

DISEÑO DE FORMULARIO.

A continuación, diseñar el formulario tal como se muestra

Pagina 129 Escuela de Tecnologías de la Información


Lenguaje de programación II

PROGRAMACIÓN

Instancia el contexto de Datos a nivel Formulario

Programa el evento del botón Consulta, donde ejecuta el procedimiento almacenado


usp_PedidosAño, visualizando los resultados en el DataGridView

Al finalizar, presione F5 para ejecutar el Formulario, ingrese el año desde el control TextBox, al
presionar el botón Consulta listar los registros de pedidoscabe por dicho año de Fechapedido.

Escuela de Tecnologías de la Información Pagina 130


Desarrollo de Software

Exporta Datos A Excel


Trabajando con Archivo de Excel

Exportar datos a Excel

Para implementar esta aplicación necesitamos de una librería: Microsoft.Office.Interop.Excel. Si el


proyecto no encuentra esta librería, desde la opción Proyecto -> administrar paquetes NuGet,
escriba el nombre de la librería y realice la búsqueda.

Descargar la librería para trabajar en la aplicación.

Descargar la librería,
desde la ventana
Administración de
paquetes NuGet

Practica 1: Implemente una rutina que permita guardar los registros de la tabla tb_clientes a un
archivo Excel.

Paso 1: Defina un cuadro de dialogo para guardar un archivo de tipo xls (Filter)

Pagina 131 Escuela de Tecnologías de la Información


Lenguaje de programación II

Defina cuadro de dialogo


para guardar archivo Excel

Paso 2: Defina la aplicación, de la aplicación agregar un Workbook llamado libro, del libro agregar
un Worksheet llamado hoja, tal como se muestra

Defina la aplicación de Excel


llamado aplicacion

De la aplicación agregar un
Workbook llamado libro

Del libro agregar un


Worksheet llamado hoja

Escuela de Tecnologías de la Información Pagina 132


Desarrollo de Software

Paso 3: Recorrer las filas (Rows. Count-1) y las columnas


(Columns.Count) del control DataGridView. Este proceso de aplica para leer cada celda del control

Leer cada fila del


DataGridView

Leer cada columna del


DataGridView

Paso 4: Agregar a cada celda de la hoja (Cells[fila, columna]) el valor de la celda del
DataGridView

Agregar a cada celda de la


hoja, el valor de la celda del
DataGridView

Pagina 133 Escuela de Tecnologías de la Información


Lenguaje de programación II

Paso 5: Guardar el contenido del libro como libro normal (XlFileFormat.xlWorkbookNormal), tal
como se muestra. Cerrar el libro y la aplicación.

Guardar y cerrar el libro y la


aplicación

Ejecutar el programa, al presionar el botón Exportar Excel, se guardar los registros en un archivo
de Excel

Escuela de Tecnologías de la Información Pagina 134


Desarrollo de Software

Exportar datos a Excel, formatos a las celdas

Para exportar los datos a Excel, con formato implemente el siguiente proceso.

Paso 1: Defina un cuadro de dialogo para guardar un archivo de tipo xls (Filter)

Defina cuadro de dialogo


para guardar archivo Excel

Paso 2: Defina la aplicación, de la aplicación agregar un Workbook llamado libro, del libro
agregar un Worksheet llamado hoja, tal como se muestra

Defina la aplicación de Excel


llamado aplicacion

De la aplicación agregar un
Workbook llamado libro

Del libro agregar un


Worksheet llamado hoja

Pagina 135 Escuela de Tecnologías de la Información


Lenguaje de programación II

Paso 3: Definimos el título de la hoja, para ello definimos un rango “A1:E1”, y le asignamos las
propiedades de alineamiento, negrita, tamaño de letra y subrayado. En la celda del título
asignamos su valor

Definir un rango para dar


formato

Paso 4: Escribir los encabezados de las columnas, escribir en cada celda el nombre de la
columna y asignamos estilos a través del objeto Range

Leer las columnas del Grid y


escribimos en cada celda

Escuela de Tecnologías de la Información Pagina 136


Desarrollo de Software

Paso 5: Agregar a cada celda de la hoja (Cells [fila, columna]) el valor de la celda del
DataGridView

Agregar a cada celda de la hoja, el


valor de la celda del
DataGridView

Paso 6: Guardar el contenido del libro como libro normal (XlFileFormat.xlWorkbookNormal), tal
como se muestra. Cerrar el libro y la aplicación.

Guardar y cerrar el libro y la


aplicación

Pagina 137 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejecutar el programa, al presionar el botón Exportar Excel, se guardar los registros en un archivo
de Excel

Deberá visualizarse

Escuela de Tecnologías de la Información Pagina 138


Desarrollo de Software

Tarea 4

Diseña reportes en taller Crud


El técnico profesional en Desarrollo de software al término
de esta tarea podrá diseñar reportes en taller crud, para
generar formatos de salida con reportview, esta tarea
deberá desarrollar las siguientes operaciones
Diseña reportes con Report Viewer, Crystal Report
Genera Reporte con parametros de consulta o quiebres
Diseña Reporting services

Pagina 139 Escuela de Tecnologías de la Información


Lenguaje de programación II

Diseña Reportes en taller


CRUD
Diseña reportes con Report Viewer, Crystal Report
Trabajando con Reportes - Crystal Report

Manejo de Reportes

Implementar un Formulario que permita generar un reporte de los clientes almacenados en la base
de datos

seleccion
ela proyecto

Nombreeldproyecto

Agregando el origen de datos

Desde el explorador de soluciones del proyecto, agregar un nuevo elemento. Selecciona desde la
opción Datos Conjunto de Datos, tal como se muestra. Asigne el nombre al archivo

Seleccio
elemen

Escuela de Tecnologías de la Información Pagina 140


Desarrollo de Software

Desde la ventana, habilita el explorador de servidores, para agregar una conexión a la base de
datos

Visualizar el
explorador

En la opción Conexión de datos, hacer un click derecho y selecciona la opción Agregar Conexión,
tal como se muestra

Permite Agregar Una


conexión SQL

En esta ventana agrega las propiedades de la conexión y selecciona la base de datos:

Negocios2018. Presiona el botón ACEPTAR

Pagina 141 Escuela de Tecnologías de la Información


Lenguaje de programación II

Creada la conexión, arrastre la tablas del DataSet, tal como se muestra.

Creando el archivo de Reportes


Desde el explorador de soluciones del proyecto, agregar un nuevo elemento. Selecciona desde la
opción Reporting  Crystal Reports, tal como se muestra. Asigne el nombre al archivo

Escuela de Tecnologías de la Información Pagina 142


Desarrollo de Software

A continuación, selecciona desde la galería, el Asistente Estándar, tal como se muestra. Presiona
el botón ACEPTAR

Selecciona el asistente

Arrastre las tablas hacia el sector Tablas seleccionadas, tal como se muestra. Para continuar,
presiona el botón Siguiente

Pagina 143 Escuela de Tecnologías de la Información


Lenguaje de programación II

Tabla seleccionada

A continuación, selecciona los campos que se van a visualizar en el reporte (derecha), para finalizar
el asistente, presiona el botón Finalizar

Al finalizar el asistente, se crea el archivo rptClientes.rpt, tal como se muestra

Escuela de Tecnologías de la Información Pagina 144


Desarrollo de Software

Trabajando con el Formulario

En el formulario, agregar el control CrystalReportView, tal como se muestra

En la ventana de código, referenciar la librería System.Data.SqlClient, tal como se muestra

Pagina 145 Escuela de Tecnologías de la Información


Lenguaje de programación II

Librería

Luego instancia la conexión a la base de datos

Conexión

A continuación, defina un método que retorna los registros de tb_clientes

Definición del método.

Escuela de Tecnologías de la Información Pagina 146


Desarrollo de Software

Programa el evento Load(), para cargar el reportViewer con los datos del archivo rptClientes(),
tal como se muestra

Cargarlos datos al
ReportViewer

Configura el app.Config para ejecutar el reporte, modifique la etiqueta <startup>, tal como se
muestra.

Ejecuta el formulario, visualizando el reporte.

Pagina 147 Escuela de Tecnologías de la Información


Lenguaje de programación II

Genera Reporte con parametros de consulta o quiebres


Crear una aplicación UTILIZANDO CristalReport

Agregar un reporte

Diseñar el reporte de la siguiente manera

Crear el parámetro

Asignarle el nombre @secc

Escuela de Tecnologías de la Información Pagina 148


Desarrollo de Software

Crear el procedimiento almacenado

Implementar el siguiente menú

Pagina 149 Escuela de Tecnologías de la Información


Lenguaje de programación II

Seleccionar la sección

Deberá mostrar el siguiente reporte en pantalla

Escuela de Tecnologías de la Información Pagina 150


Desarrollo de Software

Conectarse a una base de datos

Pagina 151 Escuela de Tecnologías de la Información


Lenguaje de programación II

Agregar un formulario al Proyecto de nombre FrmReporte_Alu_X_Seccion.cs

Programar en el CrystalReport en el evento Load

Escuela de Tecnologías de la Información Pagina 152


Desarrollo de Software

Diseña Reporting services


Ejemplo 1

Se le encomienda a diseñar el siguiente reporte de servicio.

Diseñar un reporte

Se podría crear el reporte directamente, pero es recomendable crear un proyecto sencillo de


Windows Forms para poder probar el reporte, así que del árbol de la izquierda
seleccionar Templates → Visual C# → Windows, y seleccionar a la derecha Windows Forms
Application, abajo ingresar el nombre del proyecto

Pagina 153 Escuela de Tecnologías de la Información


Lenguaje de programación II

Crear y asociar DataSet

Desde el panel de Solution Explorer dar click derecho al proyecto y seleccionar Agregar → Nuevo
elemento

Agregando el dataSet

Escuela de Tecnologías de la Información Pagina 154


Desarrollo de Software

Crear los procedimientos almacenados

Desde el panel de Herramientas seleccionar TableAdapter y arrastrarlo hacia la ventana de diseño


del dataset recién creado

Aparecerá un asistente para la creación del TableAdapter, damos click al botón de New Connection

Se crea la cadena de conexión con las credenciales necesarias

Se da click en siguiente y se guarda la conexión

Para este reporte se utilizaran rep.permisos_usuarios_master, rep.permisos_usuarios_roles y


creados anteriormente por lo que en esa sección seleccionamos la tercer opción de Uso existente
procedimientos almacenados

Pagina 155 Escuela de Tecnologías de la Información


Lenguaje de programación II

Seleccionamos el SP en la lista que corresponde al campo Select (el esquema del SP aparece al
final del mismo entre paréntesis por lo que se debe de buscar el SP con el nombre directamente)

Al lado derecho aparecen las columnas que el procedimiento devuelve

Click en Next pide darle nombres a los procesos que llenan y retornan la información (se pueden
quedar con Fill y GetData respectivamente)

El resultado final será algo así

Repetimos los pasos para el otro SP

El resultado final será algo como esto

Escuela de Tecnologías de la Información Pagina 156


Desarrollo de Software

Creación de los reportes

Ya que se tiene el DataSet listo se procede a crear los reportes: PermisosMaster como reporte
principal y PermisosRoles como sub reporte.

Se le da click derecho al proyecto, seleccionando Agregar → Nuevo elemento

Seleccionar Visual C# Items → Reporting → Report y el nombre será PermisosMaster.rdlc

Repetir los pasos para crear el otro reporte (PermisosRoles.rdlc)

Se selecciona el reporte de PermisosMaster, en el panel de ReportData, en el folder de


Datasets dar click derecho y seleccionar AddDataSet

Pagina 157 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ingresamos el nombre del Dataset (DsUsuarios), el Data source será el creado


anteriormente (PermisosDataSet) y en Available datasets seleccionamos
permisos_usuarios_master

Repetimos los pasos con PermisosRoles.rdlc

Escuela de Tecnologías de la Información Pagina 158


Desarrollo de Software

De esta forma tendremos disponibles los campos para completar la


información de cada uno de los reportes

Ubicamos los campos arrastrándolos hacia el área del reporte y dándoles el formato necesario

PermisosMaster.rdlc

Configurando subreporte

El subreporte se llenará dinámicamente tomando el nombre de usuario como parámetro por lo que
hay que agregar un parámetro a este reporte. Seleccionamos la pestaña del reporte
PermisosRoles, en el panel de Report Data, en la sección de Parameters dar click derecho y
seleccionar “Agregar parametro”. El nombre será “username” de tipo texto y que permita valores
nulos

Pagina 159 Escuela de Tecnologías de la Información


Lenguaje de programación II

Escuela de Tecnologías de la Información Pagina 160


Desarrollo de Software

Procedemos a indicar que PermisosRoles será sub reporte de


PermisosMaster. Damos click a la pestaña del reporte PermisosMaster y desde el panel de Toolbox
seleccionamos Subreport y lo arrastramos dentro del reporte. Se colocará un recuadro de color
gris que representa el espacio que ocupará la información del reporte detalle

Damos click derecho sobre el subreporte, seleccionar “Subreport properties”. Donde dice “Use this
report as a subreport” se pone el nombre del reporte sin extensión rdlc, quedando de esta forma

En la sección de Parameters se debe de establecer la relación del parámetro que espera el


subreporte con el campo del reporte principal; en este caso el nombre del parametro es
“username” que corresponde con el nombre de campo de “[usr_username]”

Pagina 161 Escuela de Tecnologías de la Información


Lenguaje de programación II

El resultado final debería de ser algo similar a esto

Probando reporte

Para probar como ha quedado el reporte seleccionamos la forma que se creó cuando creamos el
proyecto, del panel de toolbox seleccionamos ReportViewer y lo arrastramos hacia la forma

Donde dice Choose Report seleccionamos el reporte principal (PermisosMaster) y damos click
donde dice Dock in Parent Container, el resultado será algo asi

Escuela de Tecnologías de la Información Pagina 162


Desarrollo de Software

Para probar la ejecución damos doble click en el encabezado de la forma para pasar al código. El
código a utilizar será el siguiente

Pagina 163 Escuela de Tecnologías de la Información


Lenguaje de programación II

void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)

var username = e.Parameters["username"].Values[0];

e.DataSources.Add(new ReportDataSource("DsRoles",
(object)permisos_usuarios_rolesTableAdapter.GetData(username)));

 Ejecutamos el proyecto y veremos la salida del reporte. Ajustar la estética del reporte
según sea necesario
 regresamos a la opción de Configuración > Configuraciones de
Infraestructura > Administración de Reportes y crear un nuevo reporte
 En la etapa de creación cargaremos el reporte principal (PemisosMaster.rdlc) luego
editaremos para agregar el sub reporte

Escuela de Tecnologías de la Información Pagina 164


Desarrollo de Software

 Guardamos y entramos en edición. Acá marcamos el cheque que dice ¿Permitir


subreportes? Lo que permite cargar todos los subreportes necesarios

Luego agregamos los orígenes de datos, donde en el campo Nombre debe de ir el datasource con
que fueron creados y en origen de datos irá el nombre del SP, por lo tanto, quedarán así

El parámetro será el nombre de usuario por lo que se ingresará así

Pagina 165 Escuela de Tecnologías de la Información


Lenguaje de programación II

Escuela de Tecnologías de la Información Pagina 166


Desarrollo de Software

Tarea 5
Implementa taller crud en
proyecto
El técnico profesional en Desarrollo de software al término
de esta tarea podrá implementar taller a través de un
proyecto. esta tarea deberá desarrollar las siguientes
operaciones
Enlaza Controles de datos en web forms con DataSource y
templates

enlaza control con GridView

Genera Proyecto de instalación.

Pagina 167 Escuela de Tecnologías de la Información


Lenguaje de programación II

Implementa Taller CRUD En


proyecto
Enlaza Controles de datos en web forms con DataSource y templates
Ejercicio 01:

Implemente un formulario para realizar el Mantenimiento de los registros a la tabla


tb_Auxiliar. Implemente, para este proceso enlace de control de datos a través de un
datagridview

Solución:
Primero creamos la tabla del mantenimiento, tal como se muestra

A continuación, dibujamos la GUI tal como se muestra

Escuela de Tecnologías de la Información Pagina 168


Desarrollo de Software

Programación
En la ventana de código, defina la librería para trabajar con SQL Server; e instancia la
conexión a la base de datos Negocios2019, tal como se muestra

Referencia a la Librería
SqlClient

Instancia de la
conexión

A nivel formulario, defina un dataSet llamado ds; y un método llamado Auxiliares(),


donde retorna los registros de tb_auxiliar. En este método hemos definido una llave
primaria, sobre el campo codAux (columns[0]), para realizar las búsquedas.

Pagina 169 Escuela de Tecnologías de la Información


Lenguaje de programación II

En el evento Load del formulario, agregamos al DataSet (ds) la tabla Auxiliares(); defina un
BindingSource para enlazar el control DataGridView a la tabla Auxiliar del DataSet

Agrega la tabla al
DataSet y configurar el
Datagridview

Programa el botón Agregar: primero buscamos la fila por su llave primaria (codAux) el cual
retorna el registro. Si lo encontró (fila!=null) visualiza un mensaje; sino defines una nueva fila

(NewRow()), le asignas los valores a los campos y agregas a la tabla Auxiliar

Programa el botón Actualizar: primero buscamos la fila por su llave primaria (codAux) el cual
retorna el registro. Si no lo encontró (fila==null) visualiza un mensaje; sino actualizas los datos
de la tabla Auxiliar y vuelves a listar

Escuela de Tecnologías de la Información Pagina 170


Desarrollo de Software

Programa el botón Eliminar: primero buscamos la fila por su llave primaria (codAux) el
cual retorna el registro. Si no lo encontró (fila==null) visualiza un mensaje; sino
eliminas el registro de la tabla Auxiliar y vuelves a listar

Para verificar las operaciones, ejecuta el formulario y realiza las operaciones Agregar,
Actualizar y Eliminar

Para actualizar a la Base de Datos, ejecuta el método Update del DataAdapter, donde los
registros del DataSet se actualizarán a la base de datos

Pagina 171 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejercicio 02:

Crear un programa que permita enlazar a través de un control combobox los datos a los
cuadros de texto.

Diseñar el siguiente formulario

Programación de la instancia de conexión a la Base de datos y el método


DataTable para visualizar el producto en el combobox

Escuela de Tecnologías de la Información Pagina 172


Desarrollo de Software

Cargando los datos al combobox

Para visualizar los datos en los cuadros de texto programar en el combobox evento:
SelectedIndexChanged

Enlaza control con GridView


LABORATORIO TALLER CRUD EN PROYECTO

Se desea implementar una solución que permita realizar el mantenimiento a la tabla de Clientes
utilizando la programación de capas Se pide:

Diseño e implementación de cada una de las capas

Diseño de la capa de presentación, formulario para ejecutar los procesos del negocio.

MODELO DE DATOS.

Pagina 173 Escuela de Tecnologías de la Información


Lenguaje de programación II

En este proceso trabajaremos con la base de datos Comercial2012, donde


realizaremos el mantenimiento a la tabla tb_clientes la cual está relacionada a la tabla tb_paises,
tal como se muestra en la gráfica.

CAPA DE DATOS: BUSINESS ENTITY

Defina un proyecto de tipo Biblioteca de Clases y la llamaremos EntityLayer; el nombre de la

solución será Solución, tal como se muestra. Terminado de configurar el proyecto presionar el

botón ACEPTAR

Selecciona Biblioteca de
Clases

Nombre de Aplicación

A continuación, agregar una clase al proyecto: Selecciona del proyecto EntityLayer la opción
Agregar; desplegada la lista, seleccione la opción Clase… tal como se muestra.

Escuela de Tecnologías de la Información Pagina 174


Desarrollo de Software

Seleccione plantilla

En esta ventana, el elemento Clase se encuentra seleccionado; asigne el nombre a la clase:


ClienteBE. Luego presione el botón AGREGAR

Seleccione Clase

Nombre ClienteBE

En la clase ClienteBE, como primer paso, vamos a definir los atributos de la clase, los cuales
representan a las columnas de la tabla tb_Clientes, tal como se muestra

Pagina 175 Escuela de Tecnologías de la Información


Lenguaje de programación II

Defina las propiedades de la clase,


los cuales son de alcance p ublic

Definida la capa de Datos, a continuación, proceda a AGREGAR UN NUEVO PROYECTO a la solución,


tal como se muestra

Agregar, desde la
solución, un nuevo
proyecto

Selecciona la opción
Nuevo Proyecto

Selecciona el proyecto Biblioteca de Clases, el cual tendrá como nombre DAO (Capa de Acceso a
Datos), luego presione el botón ACEPTAR

Escuela de Tecnologías de la Información Pagina 176


Desarrollo de Software

Selecciona la plantilla
Biblioteca de clases

Nombre del
proyecto DAO

En el proyecto DAO, define los métodos del proceso de mantenimiento; para ello requiere el
modelo de datos (EntityLayer) ya implementada. Para hacer una referencia hacia el proyecto
BusinessEntity, establecer una referencia en el proyecto DAO: Click derecho en el proyecto DAO
y seleccione la opción Agregar Referencia

Desde el proyectoO,
DA
selecciona la opción Agregar
Referencia

Pagina 177 Escuela de Tecnologías de la Información


Lenguaje de programación II

Desde el Administrador de
Referencia DAO, selecciona el
proyecto BusinessEntity

En el proyecto DAO agrega la clase conexionEL, para definir la conexión.

Selecciona el elemento
Clase

Nombre:
conexionDAO

En la Clase conexionDAO defina la conexión a la base de datos.

Defina la propiedad que


retorna la conexión

En el proyecto DAO, agrega una clase, llamada paisDAO, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 178


Desarrollo de Software

Selecciona el
elemento
Clase

Asigna el nombre
PaisDAO

En la Clase PaisDAO defina los métodos a implementar, tal como se muestra

Instancia de la
clase Conexión
Implementa la
funciónistad

En el proyecto DAO, agrega una clase llamada clienteDAO, tal como se muestra

Selecciona el
elemento Clase

Asigna el nombre
ClienteDA

En la Clase ClienteDAO importa el proyecto BusinessEntity donde utilizamos la clase


ClienteBE; instancia la conexión, tal como

Pagina 179 Escuela de Tecnologías de la Información


Lenguaje de programación II

Importar las libreríase dtrabajo: SqlCliente y


EntityLayer

Instancia la Clase conexión

Función Listado
donde retorna los
registros de la
tabla tb_clientes

En la clase clienteDAO defina la función Agregar que permita insertar un registro a la tabla
tb_clientes retornando un mensaje de tipo string

En la función Agregar
utilice data: lienteE
c L el
cual recibe los datos del
cliente

Al ejecutar el pro
ceso,
almaceno en una variable
string el resultado del
proceso

En la clase clienteDAO defina el método Eliminar que permita eliminar un registro a la tabla
tb_clientes por el campo idcliente

Escuela de Tecnologías de la Información Pagina 180


Desarrollo de Software

En el métodoEliminar
utilice data: cliente
EL el
cual recibe los datos del
cliente

Al ejecutar el proceso, almaceno


el resultado del proceso en una
variable string y lo retorna

En la clase ClienteDAO defina la función Actualizar que permita actualizar un registro a la tabla
tb_clientes por el campo idcliente retornando un mensaje

En la función Actualizar
utilice data: clienteEL el
cual recibe los datos del
cliente

Al ejecutar el proceso,
almaceno el resultado en una
variable de tipo String y
retorno el valor

Definida la capa DAO, a continuación, agregamos la capa BusinessLayer (Capa Lógica del
Negocio), luego presione el botón ACEPTAR

Pagina 181 Escuela de Tecnologías de la Información


Lenguaje de programación II

Selecciona la plantilla
Biblioteca de clases

Asigna al proyecto
el nombre
BusinessLayer

El proyecto BusinessLayer, implementa los métodos definidos en el proyecto DAO; para ello
requiere el proyecto BusinessEntity y el proyecto DAO.Para hacer una referencia hacia los
proyecto, hacer Click derecho en el proyecto BusinessLayer y selecciona la opción Agregar
Referencia.

En la ventana Agregar Referencia, seleccione los proyectos: DataLayer y BussinessLayer, tal como
se muestra; presione el botón ACEPTAR

Selecciona los dos


proyectos tal como se
muestra

Como siguiente paso, vamos a agregar elementos al proyecto BusinessLayer para ejecutar los
métodos definidos en el proyectoDAO

Escuela de Tecnologías de la Información Pagina 182


Desarrollo de Software

Agrega una Clase al proyecto


BusinessLayer

En la ventana AGREGAR ELEMENTO, selecciona el elemento CLASE y asigne un nombre: paisBL,


a continuación, presione el botón AGREGAR

Selecciona el
Clas

La se se
paisB

Para implementar la clase paisBL, importamos las librerías de trabajo; instanciamos PaisDAO y
defina la función Listado que ejecuta el método Listado de PaisDAO

Importar las librerías


trabaj

Instanciar la clase
aisDA

Defina la función Listado,


l ejecuta
el el
método ListadoaisDA
de

Pagina 183 Escuela de Tecnologías de la Información


Lenguaje de programación II

A continuación, agrega un nuevo elemento llamado ClienteBL, tal como se muestra

Selecciona el elemento Clase

Asigne el nombre ClienteBL

Implementar la clase llamada ClienteBL, primero importamos las librerías de trabajo. Defina los
métodos los cuales desencadenan los métodos de ClienteDAO.

Importar las librerías de trabajo

Instanciar la clase clienteDAO

Defina los métodos que


desencadenan los métodos de
ClienteDAO.

Definida el proyecto BusinessLayer, a continuación, proceda a AGREGAR UN NUEVO PROYECTO


a la solución, tal como se muestra

Escuela de Tecnologías de la Información Pagina 184


Desarrollo de Software

Selecciona la plantilla
Aplicación de Windows
Forms

Asigna al proyecto el
nombreappSolucion

Antes de iniciar, debemos establecer al proyecto appSolucion como proyecto de inicio, esto es
por ser la interfaz de usuario, es decir, la capa de presentación del proyecto. Selecciona los
proyectos EntityLayer y BusinessLayer, tal como se muestra

Selecciona los
proyectos

Agrega un Formulario en el proyecto appSolucion. Dibuja la GUI, la como se muestra

Pagina 185 Escuela de Tecnologías de la Información


Lenguaje de programación II

Control TextBox: txtCodigo

Control TextBox: txtNombre

Control TextBox: txtDireccion

Control ComboBox: cboPais

Control TextBox: txtFono

Control DataGridView: dgClientes

En la ventana de código, importar las librerías: EntityLayer y BusinessLayer, instanciar las


clases de los procesos tal como se muestra

Importar las librerías de


trabajo

Declara las instancias de la


clase DAO,

Cargar los datos a los controles


comboBox y DataGridViwe

A continuación, programa el evento Click del botón AGREGAR, el cual tiene como objetivo ejecutar
el método AGREGA del objeto cliente (clienteBL)

Escuela de Tecnologías de la Información Pagina 186


Desarrollo de Software

Proceso para agregar un


registro de cliente

A continuación, programa el evento Click del botón ACTUALIZAR, el cual tiene como objetivo
ejecutar el método ACTUALIZAR del objeto cliente (clienteBL)

Proceso para actualizar los


datos de un cliente

A continuación, programa el evento Click del botón ELIMINAR, el cual tiene como objetivo ejecutar
el método ELIMINAR del objeto cliente (ClienteBL)

Proceso para eliminar un


registro de cliente

Programa el evento CellClick del control DataGridView1, donde al seleccionar una fila del control
(CurrentRow), visualice los datos en los controles del Formulario

Pagina 187 Escuela de Tecnologías de la Información


Lenguaje de programación II

Evento del control dgClientes,


donde al seleccionar una fila
visualizamos los datos

Ejecute el proyecto y ejecuta las operaciones de Agregar, Modificar y eliminar los registro de un
cliente.

GENERA PROYECTO DE INSTALACIÓN

aparece la venta correspondiente, y buscamos por “proyecto de instalación “, nos aparecerá el

paquete “ ”

Escuela de Tecnologías de la Información Pagina 188


Desarrollo de Software

Instalar

abrimos nuestro proyecto de Visual Studio y hacer clic en:

 Archivo -> Nuevo -> Proyecto

Pagina 189 Escuela de Tecnologías de la Información


Lenguaje de programación II

Creamos un nombre para el proyecto y clic en Aceptar.

aparece una ventana como la siguiente:

En caso de que no visualizara, clic derecho en el proyecto en mi caso “SetupInstituto” / View /


Sistema de Archivos y mostrara la misma ventana.

 Ahora empezamos a partir de la carpeta “Carpeta de Aplicación” clic y en el lado derecho


saldrá en blanco sin ningún archivo o carpeta disponible.
 Paso siguiente clic derecho en el lado derecho -> agregar -> Resultados del Proyecto

En mi caso estoy trabajando con el patrón MVC en la ventana de selección de proyectos o


puedes trabajar con cualquier otro proyecto.

Escuela de Tecnologías de la Información Pagina 190


Desarrollo de Software

 Seleccionamos los proyectos que tengamos y clic en Resultado de Proyecto -> Aceptar.
 Debemos hacer esto por cada proyecto que tengamos en la solución, en mi caso lo haré
tres veces ya que tengo 3 proyectos.

Una vez terminado les saldrá algo parecido a esto dependiendo de las dependencias que tenga
sus proyectos.

Si tenemos Algunos Reportes de Crystal Report también debemos agregarlos pero de la siguiente
manera:

Pagina 191 Escuela de Tecnologías de la Información


Lenguaje de programación II

aparecerá un Explorador de Archivos debes buscar el reporte de Crystal Reports que se


encuentra en la carpeta del proyecto.

Una vez seleccionado lo agregamos.

Después debemos configurar los iconos para el escritorio y el menú Inicio.

Icono para el Escritorio

 Hacemos clic en usuario Desktop


 Clic derecho -> Crear nuevo acceso directo
 aparecerá un Explorador, hacemos doble clic en carpeta de aplicación
 seleccionar el Resultado Final de nuestro proyecto, si tienes más de un proyecto debes escoger
el proyecto principal donde se encuentran los formularios.
 Se crea un archivo automáticamente

Escuela de Tecnologías de la Información Pagina 192


Desarrollo de Software

 Podemos cambiar el icono del acceso directo y el nombre que aparecerá.

El Ícono para el Menú Inicio se hace con el mismo procedimiento.

Para finalizar hacemos clic en “SetupInstituto” en mi caso y elegimos las propiedades según
nuestro caso.

 Target Platform : Aqui colocamos la arquitectura con la cual destinaremos la aplicación


 Version: Version de la Aplicacion
 Manufacturer: El nombre de la compañía

Una vez finalizado clic derecho en el proyecto Compilar

Pagina 193 Escuela de Tecnologías de la Información


Lenguaje de programación II

De esta forma abras terminado. Solo entramos a la carpeta de nuestro proyecto en el Proyecto del
Setup y buscamos la carpeta Debug ahi encontrara a los ejecutables de la aplicación.

Anexos
Problema 1

Implemente un programa en C# donde permita calcular el perímetro, el área y diagonal de un


rectángulo.
Para realizar estos cálculos, ingrese los siguientes datos: base y altura del rectángulo.
Calcule y visualice:
• Área: es el producto de la base por la altura
• Perímetro: es el doble de la suma de la base y la altura.
• Diagonal: la raíz cuadrada del cuadrado de la base más el cuadrado de su altura.

Al crear el proyecto, selecciona las opciones tal como se muestra en la figura. Al terminar
selecciona la opción ACEPTAR.

Escuela de Tecnologías de la Información Pagina 194


Desarrollo de Software

Explorador de
soluciones
CTRL + ALT + L

Formulario Diseño

Cuadro de herramientas
Ctrl + Alt + x

Diseñar el siguiente formulario

Pagina 195 Escuela de Tecnologías de la Información


Lenguaje de programación II

A continuación, vamos al Formulario para programar el botón Procesar: hacer doble click al control

Programación

Escuela de Tecnologías de la Información Pagina 196


Desarrollo de Software

Ejecuta el proyecto (F5), ingrese los datos solicitados, al presionar el


botón Procesar se calcula y
visualiza el perímetro, área y diagonal del rectángulo.

Agregando otro formulario al proyecto

Configurando el Form2 como formulario principal

Pagina 197 Escuela de Tecnologías de la Información


Lenguaje de programación II

Doble Click

Cambiar a Form2

Guardar cambios CTRL + S Y Presionar F5

Escuela de Tecnologías de la Información Pagina 198


Desarrollo de Software

Problema 2

Implemente un programa en C# donde permita calcular la Venta de un producto.


Ingrese los siguientes datos: Numero del documento, Fecha del documento, Nombre del cliente,

Descripción del mueble y su precio.

Calcule y visualice:

• Descuento: se calcula el 2% del precio

• Precio Venta: es la diferencia del precio y el descuento.

Diseño del Formulario


A continuación diseñamos el formulario, utilizando la ventana de propiedades (F4), tal como se
muestra en la figura.

Programar en el botón procesar

Código seria:

Pagina 199 Escuela de Tecnologías de la Información


Lenguaje de programación II

Presionar la tecla F5

Problema 3

La empresa VIPUSA es una empresa de Transporte las cuales se dedican al traslado de la materia
prima cobrando por ello un flete: costo de la tarifa por la cantidad de Toneladas Métricas (TM).
Esta
empresa de transporte registra:

• el nombre del Destinatario,

• la dirección del destino (Departamento del país) y la cantidad de TM que trasladaban,

• la tarifa es estándar: S/.150 por TM. El flete es el producto de la cantidad de TM por la tarifa.
Implemente un programa en C# donde permita calcular la tarifa

Creando la aplicación en Visual C#

Escuela de Tecnologías de la Información Pagina 200


Desarrollo de Software

Para agregar elementos al control ComboBox, hacer un click derecho y selecciona la opción

Definiendo en el
Constructor

Programando en el botón procesar

Pagina 201 Escuela de Tecnologías de la Información


Lenguaje de programación II

Problema 4

Establezca según lo aprendido los nombres a cada uno de los controles

Calcular el Interés compuesto generado por un capital depositado durante cierta cantidad de
tiempo a una tasa de Interés determinada, aplique las siguientes fórmulas.

M=(1+r%)t . C I=M-C

M (Monto): Suma del capital más intereses producidos en un tiempo determinado.

r (Taza de Interés): ganancia que se obtiene por cada 100 unidades monetarias en cada
periodo de Tiempo.
T (Tiempo): Periodo de tiempo durante el cual se cede el capital.
C (Capital): Dinero invertido para generar una ganancia.

I (Interés): Utilidad Generada.

Escuela de Tecnologías de la Información Pagina 202


Desarrollo de Software

Programando en el botón calcular


private void btncalcular_Click(object sender, EventArgs e)
{

//Declaración de variables

double capital, razon, tiempo;

double interes, monto;

//Entrada de datos

capital =double.Parse( txtcapital.Text);

razon = double.Parse(txtrazon.Text);

tiempo = double.Parse(txttiempo.Text);

//Proceso

monto = Math.Pow((1 + razon), tiempo) * capital;

interes = monto - capital;

//Salida de la Información

txtmontofinal.Text = Convert.ToString(monto);

txttotalinteres.Text = Convert.ToString(interes);

Pagina 203 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando en el botón nuevo


private void btnnuevo_Click(object sender, EventArgs e)

txtmontofinal.Clear();

txtcapital.Clear();

txtrazon.Clear();

txttiempo.Clear();

txttotalinteres.Clear();
}
Problema 5

Se desea calcular la distancia recorrida (m) por un móvil que tiene velocidad constante (m/s)
durante un tiempo T (Sg), considerar que es un MRU (Movimiento Rectilíneo Uniforme)

Diseñar el siguiente formulario

Asignar nombre a los controles

Control Nombre
Textbox1 txtVelocidad
Textbox1 txtTiempo
Label1 lblres

Escuela de Tecnologías de la Información Pagina 204


Desarrollo de Software

Programando en el botón Calcular

Problema 6

Crear un programa que calcule las 4 operaciones básicas de la aritmética.

Diseñar el siguiente formulario

Pagina 205 Escuela de Tecnologías de la Información


Lenguaje de programación II

Asigne nombre a cada uno de los controles tal como se enseñó en las sesiones anteriores.

Programando en el botón calcular

Código en el botón Calcular

Problema 7

Realizar un programa que pida “Login” y “Password” a un usuario. Mostrar un mensaje de


“Bienvenida” si los datos son correctos, caso contrario un mensaje de “Error”

Diseñando el formulario

Escuela de Tecnologías de la Información Pagina 206


Desarrollo de Software

Programando el botón Ingresar

Pagina 207 Escuela de Tecnologías de la Información


Lenguaje de programación II

Problema 8

Código y sus propiedades:

Escuela de Tecnologías de la Información Pagina 208


Desarrollo de Software

PROGRAMACION ORIENTADA A OBJETOS

CODIGO

Pagina 209 Escuela de Tecnologías de la Información


Lenguaje de programación II

Creando la clase Circulo con sus propiedades

Escuela de Tecnologías de la Información Pagina 210


Desarrollo de Software

Programando los botones:

Pagina 211 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejercicio 02 Utilizando P.O.O

CODIGO

Creando la clase Ventas con sus propiedades

Escuela de Tecnologías de la Información Pagina 212


Desarrollo de Software

Pagina 213 Escuela de Tecnologías de la Información


Lenguaje de programación II

Ejercicio 03 Utilizando P.O.O

Escuela de Tecnologías de la Información Pagina 214


Desarrollo de Software

CODIGO

Creando la clase Pagos con sus propiedades.

Pagina 215 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando los botones:

Escuela de Tecnologías de la Información Pagina 216


Desarrollo de Software

Ejercicio 04 Utilizando P.O.O

CODIGO

Creando la clase Numero con sus propiedades.

Pagina 217 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando los botones:

Escuela de Tecnologías de la Información Pagina 218


Desarrollo de Software

Ejercicio 05 Utilizando P.O.O

CODIGO

Creando la clase Trabajo con sus propiedades.

Pagina 219 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando los botones:

Escuela de Tecnologías de la Información Pagina 220


Desarrollo de Software

Ejercicio 06 Utilizando P.O.O

CODIGO

Creando la clase Participante con sus propiedades.

Pagina 221 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando los botones:

Ejercicio 07 Utilizando P.O.O

Escuela de Tecnologías de la Información Pagina 222


Desarrollo de Software

CODIGO

Creando la clase Curso con sus propiedades.

Pagina 223 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programando los botones:

Escuela de Tecnologías de la Información Pagina 224


Desarrollo de Software

Expresiones Lambda
Se desea implementar un programa que permita ingresar dos numeros, donde, utilizando
expresiones Lambda, calcule y visualice:

• El mayor de los numeros

• El promedio de los numeros ingresados

Creando la aplicación en Visual C#

Para crear un proyecto, desde el aplicativo selecciona la opción Nuevo Proyecto

Al crear el proyecto, selecciona las opciones tal como se muestra en la figura. Al terminar
selecciona la opción ACEPTAR.

Pagina 225 Escuela de Tecnologías de la Información


Lenguaje de programación II

A continuación se visualiza el IDE del proyecto.

Diseño del Formulario

A continuación, diseñamos el formulario, utilizando la ventana de propiedades (F4), tal como se


muestra en la figura.

Escuela de Tecnologías de la Información Pagina 226


Desarrollo de Software

En la ventana de código defina las expresiones Lambda que calculen el


promedio y el mayor número, tal como se muestra

Programa el botón Mayor, donde ingrese los dos números, ejecute la expresión lambda y visualice
el mayor de los números.

Pagina 227 Escuela de Tecnologías de la Información


Lenguaje de programación II

Programa el botón Promedio, donde ingrese los dos números, ejecute la expresión
lambda y visualice el promedio de los números.

Ejecuta el proyecto (F5), ingrese los números, al presionar uno de los botones visualizamos el
resultado en el textBox txtResultado.

Escuela de Tecnologías de la Información Pagina 228


Desarrollo de Software

Expresiones Lambda 02

Se desea implementar un programa que permita ingresar dos liste numeros, donde, utilizando
expresiones Lambda, calcule y visualice:

• Los numeros pares de la lista

• Los numeros impares de la lista

• Todos los numeros de la lista

Agregando un Formulario

Desde la opción Proyecto selecciona la opción Agregar Windows Forms

Selecciona el elemento Windows Forms, asigna un nombre tal como se muestra

Pagina 229 Escuela de Tecnologías de la Información


Lenguaje de programación II

Dibuja el formulario, tal como se muestra.

En la ventana de código del Formulario, declare una variable de tipo List<int> e


inicializarlos con un conjunto de números, tal como se muestra

Programar cada uno de los botones del Formulario, donde para obtener los números impares o
pares, utilizamos la claúsula Where, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 230


Desarrollo de Software

Abrir el archivo Program.cs, cambiar el formulario de inicio Form2 y ejecuta el Proyecto.

Pagina 231 Escuela de Tecnologías de la Información


Lenguaje de programación II

Expresiones Lambda 03
Se desea implementar un programa que permita registrar y consultas cuentas bancarias
almacenadas en una colección de tipo List. Realice consulta de los registros almacenados de las
cuentas bancarias por diferentes criterios.

Desarrollo Práctico
1. Diseño de la Clase
En este paso vamos a diseñar la clase clsCuenta, donde definimos los atributos de la clase y el
constructor, tal como se muestra

2. Diseño del Formulario

Agrega en el Formulario el control TABCONTROL, control contenedor que contiene TABPAGE. Para
agregar un TABPAGE, desde la lista de tareas, selecciona la opción AGREGAR PESTAÑA, tal como
se muestra

Escuela de Tecnologías de la Información Pagina 232


Desarrollo de Software

Para agregar más pestañas, desde la lista de tareas del TabControl, selecciona la opción Agregar
pestaña, tal como se muestra.

3. Diseño de la Pestaña 1

En la pestaña 1, diseña la página para REGISTRAR CUENTAS

Pagina 233 Escuela de Tecnologías de la Información


Lenguaje de programación II

4. Programación de la pestaña 1

Defina a nivel Formulario una variable llamada Cuentas de tipo ArrayList; luego defina un método
llamado Listado() que permite listar los registros.

Implementa el método del botón btnAgregar, donde se agrega un objeto de tipo clsCuenta a la
colección Cuentas, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 234


Desarrollo de Software

5. Ejecutar

Para ejecutar presiona la tecla F5, ingrese datos en los controles, al presionar el botón AGREGAR,
se visualiza las cuentas registradas en el control dgRegistros. Si trata de registrar una cuenta con
el mismo número, visualiza un mensaje, tal como se muestra

Pagina 235 Escuela de Tecnologías de la Información


Lenguaje de programación II

6. Diseño de la Pestaña 2
En esta pestaña vamos a consulta las cuentas por el nombre del cliente, ingresando sus iniciales
del nombre

7. Programación de la pestaña 2

Implementa el método del botón Consulta por Nombre, donde se realizara la búsqueda de las
cuentas por las iniciales del nombre del cliente, visualizando los registros en el control
DataGridView, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 236


Desarrollo de Software

8. Ejecutar

Para ejecutar presiona la tecla F5, ingrese las iniciales del nombre del cliente; al presionar el botón
CONSULTAR CLIENTE, se visualiza las cuentas registradas por las iniciales del cliente en el control
dgConsulta1.

9. Diseño de la Pestaña 3

En esta pestaña vamos a consulta las cuentas entre un rango de 2 fechas seleccionadas desde los
controles DateTimePicker

Pagina 237 Escuela de Tecnologías de la Información


Lenguaje de programación II

10. Programación de la pestaña 3

Implementa el método del botón Consulta por Fechas, donde selecciona el rango de las fechas a
través de los controles DateTimePicker, visualizando los registros en el control ListView, tal como
se muestra.

Para ejecutar presiona la tecla F5, registra datos en las cuentas, y realiza las consultas en las
páginas de consulta entre un rango de dos fechas, tal como se muestra.

Escuela de Tecnologías de la Información Pagina 238

También podría gustarte