Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Sistemas
Empresariales
DESARROLLO DE SISTEMAS EMPRESARIALES 2
Índice
Presentación 5
Red de contenidos 7
Unidad de Aprendizaje 1 10
INTRODUCCIÓN AL DESARROLLO DE LOS SISTEMAS DE INFORMACIÓN
1.1 Tema 1 : Introducción al Desarrollo de los Sistema de Información 12
1.1.1 : Introducción 12
1.1.2 : Etapas del ciclo del desarrollo del sistema 17
1.1.3 : Herramientas que se utilizan en las etapas del ciclo del desarrollo 21
1.1.4 : Roles en el desarrollo de un sistema de información 23
Unidad de Aprendizaje 2 31
INTRODUCCIÓN AL NET FRAMEWORK 4.5
2.1 Tema 2 : Conceptos básicos del .NET Framework 33
2.1.1 : Arquitectura del .NET Framework, definición básica 33
2.1.2 : Aplicaciones Windows Form 36
2.1.3 : Principales Controles 41
2.1.4 : Variables y Tipos de datos 55
2.1.5 : Estructuras de control: if, switch 58
2.1.6 : Manejo de una clase, definir propiedades y métodos 64
2.1.7 : Definición de un constructor 68
2.1.8 : Manejo de un objeto: instancia de una clase 69
Unidad de Aprendizaje 3 93
ADMINISTRACIÓN DE DATOS
3.1 Tema 3 : Recuperación de datos 95
3.1.1 : Consulta de datos 95
3.1.2 : Ordenar registros 97
3.1.3 : Consultas condicionales 98
3.1.4 : Combinación de tablas 101
Presentación
Desarrollo de Sistemas Empresariales pertenece a la línea de tecnología y se dicta
en la carrera de Administración y Sistemas de la institución. El curso brinda un
conjunto de herramientas de programación para trabajar con las librerías de ADO.Net
que permita al alumno crear aplicaciones para el manejo de datos.
Red de contenidos
DESARROLLO DE SISTEMAS EMPRESARIALES
Administración de Datos
Recuperación de datos
Manejo de Procedimientos
almacenados
Introducción a ADO.NET
Recuperación de datos
Manipulación de datos
Introducción a LINQ
Introducción a LINQ
Manejo de Reportes
Manejo de Reportes
UNIDAD
1
INTRODUCCIÓN AL
DESARROLLO DE LOS
SISTEMAS DE INFORMACIÓN
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno identifica las etapas del ciclo de vida del
desarrollo de un sistema, así como los roles de las personas que intervienen en
el proceso.
TEMARIO
ACTIVIDADES PROPUESTAS
Una misma información puede estar dentro de uno, en varios o en todos los tipos de
clasificación, antes mencionados.
Es por ello de vital importancia que la dirección tenga una visión clara sobre la
“Economía de la Información”, la forma en la que la información añade valor a la
empresa y la relación entre el valor y el costo de la misma. La globalización de la
economía amplía el valor de la información para la empresa y pone a su alcance
nuevas oportunidades de negocio.
Las organizaciones que citamos como ejemplos y algunas que omitimos, todas
cumplen alguna función en la sociedad y en la economía. No solo nos referimos a las
que tienen fines lucrativos sino también a las que no los tienen. Por ejemplo, las que
tienen propósitos altruistas o sociales. La organización, en este sentido, es una
empresa o una institución cualquiera.
El ciclo de vida de un sistema es un proceso por el cual los analistas de sistemas, los
ingenieros de software, los programadores, y los usuarios finales elaboran sistemas de
información y aplicaciones informáticas. El ciclo de vida del desarrollo de un sistema
consta de seis actividades:
a. Investigación Preliminar
b. Análisis de Sistemas
c. Diseño del Sistema
d. Desarrollo del Sistema
e. Implementación del Sistema
f. Mantenimiento del Sistema
a. Investigación Preliminar
b. Análisis de Sistemas
Para contestar estas preguntas, el analista conversa con varias personas para reunir
detalles relacionados con los procesos de la empresa, sus opiniones sobre por qué
ocurren las cosas, las soluciones que proponen y sus ideas para cambiar el proceso.
Se emplea cuestionarios para obtener esta información cuando no es posible
Conforme se reúnen los detalles, los analistas estudian los datos sobre requerimientos
con la finalidad de identificar las características que debe tener el nuevo sistema,
incluyendo la información que deben producir los sistemas junto con características
operacionales tales como controles de procesamiento, tiempos de respuesta y
métodos de entrada y salida.
c. Diseño de Sistema
Los especialistas en sistemas se refieren, con frecuencia, a esta etapa como diseño
lógico en contraste con la de desarrollo del software, a la que denominan diseño físico.
Los analistas de sistemas comienzan el proceso de diseño identificando los reportes y
demás salidas que debe producir el sistema. Hecho lo anterior se determinan con toda
precisión los datos específicos para cada reporte y salida. Es común que los
diseñadores hagan un bosquejo del formato o pantalla que esperan que aparezca
cuando el sistema esté terminado. Lo anterior se efectúa en papel o en la pantalla de
una terminal utilizando para ello algunas de las herramientas automatizadas
disponibles para el desarrollo de sistemas.
Una vez que sabemos qué funciones debe desempeñar nuestro sistema de
información (análisis) y hemos decidido cómo vamos a organizar sus distintos
componentes (diseño), es el momento de pasar a la etapa del Desarrollo del Sistema.
dependerá en gran parte de las decisiones de diseño que hayamos tomado hasta el
momento y del entorno en el que nuestro sistema deberá funcionar.
En esta fase, serán necesarios realizar pruebas para detectar los errores que se hayan
podido cometer en las etapas anteriores del proyecto (y, eventualmente, corregirlos).
Para asegurar el correcto funcionamiento del sistema, resulta esencial que tengamos
en cuenta las dependencias que pueden existir entre los distintos componentes del
sistema y sus versiones. Una aplicación puede que solo funcione con una versión
concreta de una biblioteca auxiliar. Un disco duro puede que solo rinda al nivel
deseado si instalamos un controlador concreto. Componentes que por separado
Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se
pueden agrupar de la forma siguiente:
Herramientas integradas, I-CASE (CASE integrado): abarcan todas las fases
del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE
workbench.
Ventajas:
Desventajas:
o Es costoso
o Depende del hardware y software
o Es eficiente solamente para soluciones complejas
Desventajas:
Ventajas:
Desventajas:
Análisis y Diseño
Programación
Cada una de esas personas aportará al grupo parte del total de las capacidades
necesarias para llevar a cabo con éxito el desarrollo. Por ello, es que cada persona
debe tener un rol dentro del grupo, que viene dado por su experiencia y capacidades
personales. A continuación, describimos software. Estos roles que vamos a describir
son administrador de proyecto, analista, diseñador, programador, tester, asegurador
de calidad, documentador, ingeniero de manutención, ingeniero de validación y
verificación, administrador de la configuración y por último, el cliente.
a. Administrador de Proyectos
Objetivos:
b. Analista de Sistemas
Muchas mejoras al apoyo para las funciones de los negocios, es por medio del uso de
sistemas de información computarizados. Entre los papeles que desempeña el analista
de sistemas:
Los analistas también usan el enfoque de reingeniería asistida por computadora, para
aplicar reingeniería inversa y de software para extender la vida del software legado.
La planeación del proyecto incluye la estimación del tiempo requerido por cada una de
las actividades del analista, su calendarización y la agilización de ellas, si es necesario
para asegurar que un proyecto sea terminado a tiempo. Una técnica de que dispone el
analista de sistemas para la calendarización de tareas es la gráfica de Gantt, que
despliega actividades en forma de barrasen una gráfica.
Para que el trabajo de los analistas tenga sentido para todos los integrantes del grupo,
se hace necesario ponerse de acuerdo en la forma como se realizará la especificación,
así como la forma como el resto del grupo la entenderá. Esto sugiere el uso de un
estándar para realizar la fase de análisis del problema. En el caso del estándar de la
ESA, el análisis se divide en dos fases: especificación de requisitos de usuario y
especificación de requisitos de software. Los analistas deben liderar ambas fases.
c. Analista Funcional
Otras funciones son evaluar tanto la viabilidad técnica como la económica de los
desarrollos de las aplicaciones que se han de ejecutar, y preparar y elaborar toda la
documentación técnica y de usuario de cada aplicación.
Conocimiento de la herramienta.
Configuración del Proceso.
Identificación de Roles y Perfiles.
Migración de Datos.
Especificaciones de Desarrollos.
d. Analista de Negocios
Un Analista del Negocio es cualquier persona que ejecute actividades de análisis del
negocio, sin importar cual sea su rol en la organización. Los Analistas del Negocio
incluyen también analistas de sistemas de negocios, analistas de sistemas, ingenieros
de requisitos, analistas de procesos, gerentes de producto, propietarios de producto,
analistas corporativos, arquitectos del negocio, consultores de administración o
cualquier otra persona que ejecute disciplinas relacionadas como gerencia de
proyectos, desarrollo de software, aseguramiento de la calidad y diseño de interacción.
e. Diseñador
f. Programador
g. Tester
h. Asegurador de calidad
Revisar:
Los roles del asegurador se conectan a este con el mismo propósito: Revisar que cada
proceso se cumpla bien y dentro del tiempo.
El Asegurador de calidad debe ser una persona muy familiarizada con el proceso de
desarrollo de proyectos, con esto se tiene la certeza de que la persona será capaz de
resolver los problemas que surjan. Su plan de trabajo es de los más extensos debido a
que debe estar involucrado en todas las fases del proyecto.
i. Administrador de configuraciones
Las personas en dentro de este rol pueden manejar tres cosas: actividades
administrativas, auxiliares, y técnicas.
Una vez que el proyecto empiece, debe realizar las cinco actividades principales
durante el ciclo de vida del software:
j. Documentador
Para cada uno de estos roles, se definen sus objetivos, actividades, interacción con
otros roles, herramientas a utilizar, perfil de las personas en ese rol y un plan de
trabajo.
Resumen
1. Un Dato es la representación simbólica de un hecho o evento. La información es
un dato organizado en forma significativa para el receptor con valor real y
perceptible para las decisiones presentes y futuras.
Pueden revisar los siguientes enlaces para ampliar los conceptos vistos en esta
unidad:
o http://es.wikipedia.org/wiki/Sistema_de_informaci%C3%B3n
o http://www.monografias.com/trabajos29/ciclo-sistema/ciclo-sistema.shtml
o http://grupo3seccionb.blogspot.com/
o http://paulchasiluisa.galeon.com/
o https://ekipo6.wordpress.com/2007/10/15/roles-en-el-desarrollo-de-software/
o http://es.scribd.com/doc/6371079/Roles-Desarrollo-Software
o http://es.scribd.com/doc/6371079/Roles-Desarrollo-Software
UNIDAD
2
INTRODUCCIÓN AL NET
FRAMEWORK 4.5
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno describe el funcionamiento de una aplicación
en Visual Studio bajo la Arquitectura del .NET Framework 4.5. Además,
soluciona casos prácticos donde intervienen los elementos de una aplicación
orientada a objetos bajo el lenguaje C#.
TEMARIO
ACTIVIDADES PROPUESTAS
Es un conjunto de clases que permiten a todos los lenguajes .NET realizar tareas
comunes (entrada/salida, acceso a Bases de Datos, interfaz de usuario, etc.). Además:
Mejoras en el rendimiento.
Capacidad para utilizar fácilmente componentes desarrollados en otros
lenguajes.
Tipos extensibles que proporciona una biblioteca de clases.
Características del lenguaje como herencia, interfaces y sobrecarga para la
programación orientada a objetos.
Compatibilidad con el control de excepciones estructurado.
Compatibilidad con atributos personalizados.
Recolección de elementos no utilizados
Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los
siguientes:
Windows Forms es una de las dos tecnologías que se utiliza en Visual Studio para
crear aplicaciones cliente inteligentes basadas en Windows que se ejecutan en .NET
Framework. Windows Forms es especialmente adecuado para escenarios de
desarrollo rápido de aplicaciones donde la prioridad principal es una interfaz gráfica de
usuario. El Diseñador de Windows Forms se utiliza para crear la interfaz de usuario, y
permite obtener acceso a otras características de diseño y ejecución, tales como las
siguientes:
Inicie Visual Studio 2013, luego elija la opción de Nuevo proyecto… o también desde
el menú Archivo / Nuevo / Proyecto…
También, es posible cambiar la configuración para guardar un nuevo proyecto usando el menú
Herramientas / Opciones…, en Proyectos y soluciones / General se desmarca la opción
Guardar nuevos proyectos al crearlos.
a. Explorador de Soluciones
b. Cuadro de Herramientas
El Cuadro de herramientas solo muestra los elementos que son adecuados para el tipo
de archivo con el que usted está trabajando. Puede buscar en el Cuadro de
herramientas para filtrar más los elementos que aparecen.
c. Ventana Propiedades
Con el entorno de desarrollo integrado (IDE) de Visual Studio, resulta fácil compilar un
proyecto y ejecutar la aplicación resultante. Tenemos las siguientes maneras:
Propiedades
Métodos
Eventos
Propiedades
Name.
AutoSize: Obtiene o establece un valor que indica si el control cambia
automáticamente de tamaño para mostrar todo su contenido.
BackColor.
BorderStyle: Obtiene o establece el estilo de borde del control.
Font.
ForeColor.
Text.
TextAlign: Obtiene o establece la alineación del texto de la etiqueta.
El control TextBox muestra texto que puede ser editado por los usuarios
en tiempo de ejecución o ser modificado mediante programación.
Propiedades
Name.
BackColor.
BorderStyle.
Enabled: Obtiene o establece un valor que indica si el control puede responder
a la interacción del usuario.
Font.
ForeColor.
MaxLength: Obtiene o establece el número máximo de caracteres que el
usuario puede escribir o pegar en el control.
Multiline: Obtiene o establece un valor que indica si es un control TextBox
multilínea.
PasswordChar: Obtiene o establece los caracteres utilizados para enmascarar
caracteres de una contraseña en un control TextBox de una sola línea.
ReadOnly: Obtiene o establece un valor que indica si el texto del cuadro de
texto es de solo lectura.
Text.
TextAlign: Obtiene o establece cómo se alinea el texto en un control TextBox.
Visible: Obtiene o establece un valor que indica si se muestra el control y
todos sus controles secundarios.
Métodos
Eventos
Propiedades
Name.
BackColor.
DataSource: Obtiene o establece el origen de datos del control.
DisplayMember: Obtiene o establece el valor que se va a mostrar en el
control.
DropDownStyle: Obtiene o establece el estilo del control, sus valores son:
Simple, DropDown, DropDownList.
Enabled.
Font.
ForeColor.
Items: Representa la colección de los elementos que contiene el ComboBox.
MaxLength.
SelectedIndex: Obtiene o establece el índice que especifica el elemento
seleccionado actualmente.
SelectedValue: Obtiene o establece el valor especificado por la propiedad
ValueMember.
Text.
ValueMember: Obtiene o establece el valor real para los elementos del control.
Visible.
Métodos
Focus().
Eventos
Leave.
Propiedades
Name.
BackColor.
BorderStyle.
DataSource.
DisplayMember.
Enabled.
Font.
ForeColor.
Items.
SelectedIndex.
SelectedValue.
ValueMember.
Visible.
Métodos
Focus().
Eventos
Leave.
Propiedades
Name.
AutoSize.
BackColor.
CheckAlign: Obtiene o establece la ubicación de la parte de casilla del control
RadioButton.
Checked: Obtiene o establece un valor que indica si el control está activado,
sus valores son: False, True.
Enabled.
Font.
ForeColor.
Text.
TextAlign.
Visible.
Métodos
Focus().
Eventos
Leave.
Muestra una casilla y una etiqueta para texto. Se utiliza en general para
establecer opciones.
Propiedades
Name.
AutoSize.
BackColor.
CheckAlign.
Checked.
CheckState: Obtiene o establece el estado del CheckBox.
Enabled.
Font.
ForeColor.
Text.
TextAlign.
Visible.
Métodos
Focus().
Eventos
CheckedChanged.
Leave.
Propiedades
Name.
AutoSize.
BackColor.
BorderStyle.
DecimalPlaces: Obtiene o establece la alineación de las posiciones decimales
que se van a mostrar en el cuadro de número.
Enabled.
Font.
ForeColor.
Increment: Obtiene o establece el valor en que se incrementa o disminuye el
cuadro de número cuando se hace clic en los botones Arriba o Abajo.
Maximum: Obtiene o establece el valor máximo del cuadro de número.
Minimum: Obtiene o establece el valor mínimo del cuadro de número.
TextAlign.
ThousandsSeparator: Obtiene o establece un valor que indica si se mostrará
un separador de miles en el cuadro de número cuando sea necesario.
UpDownAlign: Obtiene o establece la alineación de los botones Arriba y Abajo
del cuadro de número.
Value: Obtiene o establece el valor asignado al control.
Visible.
Métodos
Focus().
Eventos
Leave.
Propiedades
Name.
CalendarFont: Obtiene o establece el estilo de fuente que se aplica al
calendario.
CalendarForeColor: Obtiene o establece el color de primer plano del
calendario.
CustomFormat: Obtiene o establece la cadena de formato personalizado de
fecha y hora. Tiene efecto cuando el valor de la propiedad Format es Custom.
DropDownAlign: Obtiene o establece la alineación del calendario desplegable
en el control DateTimePicker.
Enabled.
Font.
Format: Obtiene o establece el formato de fecha y hora que se muestra en el
control, sus valores son: Long, Short, Time, Custom.
MaxDate: Obtiene o establece la fecha y hora máximas que se pueden
seleccionar en el control.
MinDate: Obtiene o establece la fecha y hora mínimas que se pueden
seleccionar en el control.
ShowCheckBox: Obtiene o establece un valor que indica si se muestra una
casilla a la izquierda de la fecha seleccionada.
ShowUpDown: Obtiene o establece un valor que indica si se utiliza un control
de número para ajustar el valor de fecha y hora.
Value.
Visible.
Métodos
Focus().
Eventos
Leave.
ValueChanged.
Propiedades
Name.
BackColor.
BorderStyle.
CheckBoxes: Obtiene o establece un valor que indica si se va a mostrar una
casilla junto al elemento del control.
Columns: Obtiene la colección de todos los encabezados de columna que
aparecen en el control.
Enabled.
Font.
ForeColor.
FullRowSelect: Obtiene o establece un valor que indica si al hacer clic en un
elemento se seleccionan todos sus subelementos.
GridLines: Obtiene o establece un valor que indica si aparecen líneas de
cuadrícula entre las filas y las columnas que contienen los elementos y
subelementos del control.
Items: Obtiene una colección que contiene todos los elementos del control.
View: Obtiene o establece cómo se muestran los elementos en el control.
Visible.
Métodos
Focus().
Eventos
Leave.
Propiedades
Name.
AutoSize.
BackColor.
Enabled.
Font.
ForeColor.
Image: Obtiene o establece la imagen que se muestra en un control de botón.
ImageAlign: Obtiene o establece la alineación de la imagen en el control de
botón.
Text.
TextAlign.
TextImageRelation: Obtiene o establece la posición del texto y de la imagen
entre sí.
Visible.
Métodos
Focus().
Eventos
Leave.
Propiedades
Name.
AutoSize.
BackColor.
Enabled.
Font.
ForeColor.
Text.
Visible.
Métodos
Focus().
Propiedades
Name.
Enabled.
Font.
TabPages: Obtiene la colección de páginas de fichas de este control de fichas.
Visible.
TabPage
Propiedades
Name.
BackColor.
Font.
ForeColor.
Text.
Eventos
2.1.3.14 DataGridView
Propiedades
Name.
AllowUserToAddRows: Obtiene o establece un valor que indica si se muestra
al usuario la opción de agregar filas.
AllowUserToDeleteRows: Obtiene o establece un valor que indica si el
usuario puede eliminar filas del control DataGridView.
AllowUserToResizeColumns: Obtiene o establece un valor que indica si los
usuarios pueden cambiar el tamaño de las columnas.
AlternatingRowsDefaultCellStyle: Obtiene o establece el estilo de celda
predeterminado que se aplicará a las filas impares del control DataGridView.
AutoSizeColumnsMode: Obtiene o establece un valor que indica cómo se
determina el ancho de las columnas.
BorderStyle.
CellBorderStyle: Obtiene el estilo de borde de celda del control DataGridView.
ColumnHeadersVisible: Obtiene o establece un valor que indica si se muestra
la fila de encabezados de columna.
Columns: Obtiene una colección que contiene todas las columnas del control.
DataSource.
DefaultCellStyle: Obtiene o establece el estilo de celda predeterminado que se
va a aplicar a las celdas del control DataGridView si no se establece ninguna
otra propiedad de estilo de celda.
Enabled.
GridColor: Obtiene o establece el color de las líneas de cuadrícula que
separan las celdas de DataGridView.
Rows: Obtiene una colección que contiene todas las filas del control
DataGridView.
ScrollBars: Obtiene o establece el tipo de las barras de desplazamiento que
se muestran en el control DataGridView.
SelectionMode: Obtiene o establece un valor que indica cómo se pueden
seleccionar las celdas del control DataGridView.
Visible.
Métodos
Focus().
Eventos
2.1.4.1. string
Declaración y asignación
Por ejemplo:
2.1.4.2. char
Declaración y asignación
2.1.4.3. int
Declaración y asignación
2.1.4.4. double
Variable que permite almacenar números decimales de 64 bits, se debe usar el sufijo d
o D.
Declaración y asignación
2.1.4.5. decimal
Variable que permite almacenar números decimales de 128 bits, se debe usar el sufijo
m o M.
Declaración y asignación
2.1.4.6. bool
Variable que permite almacenar un valor booleano o lógico ya sea true (Verdadero) o
false (Falso).
Declaración y asignación
2.1.4.7. DateTime
Declaración y asignación
2.1.4.8. Arreglos
Declaración y asignación
Es posible realizar una instancia hacia una clase existente o creada en el proyecto,
con ello creamos un objeto que tendrá las propiedades y métodos de la clase
instanciada.
Declaración y asignación
2.1.5.1. Estructura if
Sintaxis1: Solo para el caso verdadero (son necesarios las llaves {}).
Sintaxis2: Para el caso verdadero y falso (son necesarios las llaves {}).
Sintaxis3: Para una sentencia en el caso verdadero y falso (no se usan llaves {}).
Ejemplo1: Si el stock es menor a 10, el estado será “Realizar pedido”, caso contrario
el estado será “Stock regular”.
Sintaxis4:
Sintaxis:
Ejemplo:
Una instrucción switch permite elegir uno entre varios bloques de sentencia,
dependiendo del valor de la variable evaluada al inicio.
Sintaxis1: Para un caso en general, donde los valores son constantes que se
comparan con el valor de la variable.
Sintaxis2: En caso de evaluar números, donde los valores de las contantes numéricas
pueden ser números específicos o rangos (de 2 a 5 o de 6 a 10).
Sintaxis3: En caso de evaluar caracteres, donde los valores de las contantes pueden
ser letras o textos.
2.1.6.1. Clases
Cada clase definida puede tener distintos miembros de clase, entre los que se incluyen
las propiedades que describen los datos de clase, los métodos que definen el
comportamiento de la clase y los eventos que proporcionan comunicación entre
distintos objetos y clases.
Sintaxis:
Sintaxis:
La mayoría de las propiedades tienen métodos get y set para retornar y establecer el
valor de la propiedad. Sin embargo, se pueden crear propiedades de solo lectura o
solo escritura omitiendo el método de propiedad get o set.
2.1.6.3. Métodos
Todas las clases y miembros de clase pueden especificar el nivel de acceso que
proporcionan a otras clases mediante los modificadores de acceso.
Modificador Descripción
Puede obtener acceso al tipo o miembro cualquier
public otro código del mismo ensamblado o de otro
ensamblado que haga referencia a este.
Sintaxis:
Un objeto es una entidad concreta basada en una clase, la cual realiza una instancia
de una clase.
Los objetos se pueden crear con la palabra clave new seguida del nombre de la clase
en la que se basará el objeto.
Sintaxis:
Ejemplo5: Para crear un objeto basado en la clase anterior Estudiante, definir valores
a sus propiedades y acceder a su método usaremos:
Procedimiento:
Un tabControl.
En tabPage1, cambie la propiedad:
o Text a Principal
Tres Label, cambie su propiedad Text según el modelo.
Un TextBox, cambie las propiedades:
o Name a txtNombre
o MaxLength a 30
Un DateTimePicker, cambie sus propiedades:
o Name a dtpFechaNac
o Format a Short
o Value a 01/01/1970
Un GroupBox, cambie la propiedad:
o Text a Género
Dos RadioButton, cambie sus propiedades:
o Name a rbtMasculino y rbtFemenino respectivamente.
o Text a Masculino y Femenino respectivamente.
Un NumericUpDown, cambie sus propiedades:
o Name a nudHijos.
o Maximum a 10.
En tabPage2, cambie la propiedad:
o Text a Otros
Implemente una clase que permita controlar el registro de pagos a los empleados de
una empresa. Dicho empleado cuenta con los siguientes datos: Nombre, Categoría
(que puede ser A, B, C o D), Minutos de tardanza y Horas extra. Considere que por
cada categoría se establece un Sueldo como se muestra a continuación:
Procedimiento:
Control Nombre
TextBox1 txtNombre
ComboBox1 cboCategoria
NumericUpDown1 nudMinutos
NumericUpDown2 nudHoras
Button1 btnRegistrar
ListView1 lvEmpleados
Label7 lblRegistros
Button2 btnCerrar
Haga doble clic en el título del formulario y agregue los siguientes tres procedimientos:
Haga doble clic en el botón Registrar Datos para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Implemente una clase que permita controlar el registro de compras de boletos aéreos
de una Agencia de Viajes en Lima. Se debe considerar los siguientes datos: Nombre
del cliente, Destino, Cantidad y Fecha de registro. Considere que cada Destino tendrá
un Costo de Boleto como se muestra a continuación:
Consideraciones:
Se debe calcular el valor del Subtotal (Costo de Boleto por Cantidad), el IGV
(18% sobre el Subtotal) y el Neto a pagar.
Realice la validación del cuadro de texto para el ingreso de solo textos
alfabéticos.
La Cantidad tendrá el valor 0 al iniciar la clase.
La Fecha de registro será una propiedad de solo lectura y será capturada
desde el sistema.
Como resumen se muestra el Total pagado (Suma de todo el Neto a pagar) y el
Total de registros.
Procedimiento:
Control Nombre
TextBox1 txtCliente
ComboBox1 cboDestino
NumericUpDown1 nudCantidad
Button1 btnRegistrar
ListView1 lvBoletos
Label7 lblFecha
Label8 lblTotalPagado
Label9 lblRegistros
Button2 btnCerrar
Haga doble clic en el título del formulario y agregue los siguientes tres procedimientos:
Haga doble clic en el botón Registrar Datos para habilitar el evento Click y escriba:
Elija el control txtCliente y haga doble clic en el evento KeyPress desde la ventana de
Propiedades:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Procedimiento:
Control Nombre
Label4 lblNombre
Label5 lblDistrito
Button1 btnObtenerDatos
Button2 btnCerrar
4. En el proyecto, agregue un Windows Forms: Desde el Explorador de
soluciones, haga Clic derecho en el nombre del proyecto / Opción Agregar
/ Windows Forms…
Control Nombre
TextBox1 txtNombre
ComboBox1 cboDistrito
Button1 btnEnviarDatos
Button2 btnCerrar
Haga doble clic en el título del formulario, defina el Delegado y Evento que serán los
encargados de enviar la información de este formulario (Form5) hacia el otro (Form4),
luego haga el llamado del procedimiento indicado en el evento Load del formulario:
Haga doble clic en el botón Enviar Datos para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Haga doble clic en el botón Obtener Datos para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Implemente una clase que permita controlar el registro de pagos de los vendedores de
una empresa. Considere los siguientes datos: Nombre del vendedor, Categoría (que
puede ser A1, A2, A3, A4 o A5) y Horas de trabajo. Cada Categoría tendrá una Tarfia
como se muestra a continuación:
Consideraciones:
Se debe calcular el valor del Parcial (Tarifa por Horas de trabajo), el Descuento
(10% sobre el Parcial) y el Sueldo a pagar.
Realice la validación del cuadro de texto para el ingreso de solo textos
alfabéticos.
La Categoría del vendedor tendrá un valor inicial de “A1” y las Horas de trabajo
su valor inicial será de 30.
Como resumen se muestra el Sueldo total pagado (Suma de todo el Sueldo a
pagar) y el Total de registros.
Resumen
1. .NET Framework es una plataforma para aplicaciones informáticas que sirve de
base para ejecutar un programa desarrollado en .NET en cualquiera de sus
lenguajes (VB.NET, Visual C# .NET, etc.).
6. Las variales permiten almacenar un determinado valor, su tipo puede ser: string,
int, doublé, bool, DateTime, Arreglos e instancia a una Clase.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/hh425099(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/xfak08ea(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/5011f09h.aspx
o https://msdn.microsoft.com/es-pe/library/06tc147t(v=vs.120).aspx
o https://msdn.microsoft.com/es-es/library/dd460654.aspx
UNIDAD
3
ADMINISTRACIÓN DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno recupera, inserta, actualiza y elimina
información de una base de datos en SQL Server haciendo uso del lenguaje
Transact/SQL implementado en procedimientos almacenados que optimicen
las operaciones de consulta y actualización de registros.
TEMARIO
ACTIVIDADES PROPUESTAS
Los alumnos recuperan los datos de las tablas de una Base de Datos
mediante sentencias de consulta SQL.
Los alumnos insertan, actualizan y eliminan los datos de las tablas de una
Base de Datos mediante sentencias de manipulación Transact/SQL.
Los alumnos crean procedimientos almacenados donde realizan procesos
de consulta, inserción, actualización y eliminación de datos.
Sintaxis General:
Sintaxis:
La cláusula ORDER BY ordena los datos devueltos por una consulta. Use esta
cláusula para ordenar el conjunto de resultados de una consulta por la lista de
columnas especificada y, opcionalmente, limitar las filas devueltas a un intervalo
especificado. El orden en que se devuelven las filas en un conjunto de resultados no
se puede garantizar, a menos que se especifique una cláusula ORDER BY.
ASC | DESC
Indica que los valores de la columna especificada se deben ordenar en sentido
ascendente o descendente. ASC ordena del valor mínimo al valor máximo. DESC
ordena del valor máximo al valor mínimo. ASC es el criterio de ordenación
predeterminado. Los valores NULL se tratan como los valores más bajos posibles.
Ejemplo3: Seleccione todos los campos de la tabla Clientes y ordene por el campo
cliApellidoPaterno de forma ascendente.
Ejemplo4: Seleccione todos los campos de la tabla Clientes, luego ordene por el
campo cliEstadoCivil de forma descendente y por cliApellidoPaterno de forma
ascendente.
Limitar resultados
Ejemplo5: Seleccione todos los campos de la tabla Productos donde se muestren los
3 productos con el mayor Stock.
Es posible aplicar diversos criterios que permitan filtrar los registros y recuperar
solamente aquellos que cumplan con nuestra necesidad.
Los operadores de comparación soportados por SQL son: >, >=, <, <=, = y <>, los
cuales comprueban la veracidad de alguna condición. Como resultado devuelven un
tipo de dato lógico TRUE o FALSE.
Ejemplo6: Seleccione todos los campos de la tabla Productos donde se muestren los
productos cuyo Stock es superior a 200.
Los operadores lógicos soportados por SQL son: AND, OR y NOT, los cuales permiten
unir o negar expresiones. Como resultado devuelven un tipo de dato lógico TRUE o
FALSE.
Ejemplo7: Seleccione todos los campos de la tabla Productos donde se muestren los
productos cuyo Stock sea entre 200 y 250.
Sintaxis:
Ejemplo8: Seleccione todos los campos de la tabla Productos donde se muestren los
productos cuyo Precio sea entre 15 y 30.
3.1.3.4. Operador In
Recupera los registros que coinciden con alguno de los valores de una lista.
Sintaxis:
Ejemplo9: Seleccione todos los campos de la tabla Clientes que sean solteros (S) o
casados (C).
Comodín Descripción
% Cualquier cadena de cero o más caracteres.
_ Cualquier carácter.
Acepta los caracteres dentro del intervalo ([a-d])
2[ ]
o indicados de forma individual ([abcd]).
No acepta los caracteres dentro del intervalo
[^ ] ([^a-d]) o los indicados de forma individual
([ ^abcd]).
Ejemplo10: Seleccione todos los campos de la tabla Clientes cuyo segundo carácter
del apellido paterno sea la letra “e”.
Ejemplo11: Seleccione todos los campos de la tabla Clientes cuyo primer carácter del
apellido paterno sea desde la letra “A” hasta la letra “M”.
Ejemplo12: Seleccione todos los campos de la tabla Clientes cuyo primer carácter del
apellido paterno no sea desde la letra “A” hasta la letra “M”.
Ejemplo18: Muestre el máximo y mínimo valor del Stock agrupado por el campo
prodMarcaID de la tabla Productos.
Cuando se incluyen varias tablas en una consulta, se usan combinaciones que ayudan
a obtener los resultados deseados. Una combinación ayuda a que la consulta
devuelva únicamente los registros deseados de cada tabla, basándose en cómo esas
tablas están relacionadas con otras tablas en la consulta.
Las combinaciones internas son el tipo de combinación más común. Indican a una
consulta que las filas de una de las tablas combinadas corresponden a las filas de otra
tabla, basándose en los datos incluidos en los campos combinados. Cuando se
ejecuta una consulta con una combinación interna, se incluirán en las operaciones de
consulta únicamente las filas en las que haya un valor común en ambas tablas
combinadas.
Las combinaciones externas indican a una consulta que, si bien algunas de las filas en
ambos lados de la combinación coinciden exactamente, la consulta debe incluir todas
las filas de una tabla así como las filas de la otra tabla que comparten un valor común
en ambos lados de la combinación
LEFT JOIN
Es una combinación izquierda, esto quiere decir que la consulta incluye todas las filas
de la primera tabla de la declaración SQL de la cláusula FROM y sólo las filas de la
otra tabla donde el campo de combinación contiene valores comunes de ambas tablas.
RIGHT JOIN
Es una combinación derecha, esto quiere decir que la consulta incluye todas las filas
de la segunda tabla de la declaración SQL de la cláusula FROM y solo las filas de la
otra tabla donde el campo de combinación contiene valores comunes de ambas tablas
FULL JOIN
Para retener la información que no coincida al incluir las filas no coincidentes en los
resultados de una combinación, utilice una combinación externa completa. SQL Server
proporciona el operador de combinación externa completa, FULL JOIN, que incluye
todas las filas de ambas tablas, con independencia de que la otra tabla tenga o no un
valor coincidente
Cree un nuevo archivo de consulta y escriba las sentencias SQL para los siguientes
casos:
Sentencia SELECT
7. Muestre los 6 valores más altos del campo notaEFinal de la tabla tbNotas.
--Escriba su respuesta
Consultas condicionales
Operadores de Comparación
9. Muestre todos los campos de la tabla tbNotas cuyo campo notaEFinal sea
a partir de 13.
Operadores Lógicos
10. Muestre todos los campos de la tabla tbNotas cuyo campo notaEFinal sea
entre 13 y 15.
Operador Between
11. Muestre todos los campos de la tabla tbNotas cuyo campo notaEFinal sea
entre 13 y 15.
12. Muestre todos los campos de la tabla tbPagos cuyo pagoFecha sea entre
el 01/01/2012 y 31/12/2012 (es decir del Año 2012).
Operador In
13. Muestre todos los campos de la tabla tbPagos cuyo campo pagoCiclo sea
2011-1, 2011-2 o 2012-1.
14. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluEspID
obtenga sus valores desde el campo espID de la tabla tbEspecialidad
considerando que el campo espNombre sea Adminitración, Contabilidad o
Idiomas.
15. Muestre todos los campos de la tabla tbNotas cuyo campo notaCurID
obtenga sus valores desde el campo curID de la tabla tbCursos
considerando que el campo curNombre sea Algorítmica, Lenguaje Java,
Desarrollo Web I o Base de Datos I.
--Escriba su respuesta
16. Muestre los Alumnos que hayan realizado pagos en los ciclos 2012-1 o
2012-2. Considere las tablas tbAlumnos y tbPagos.
17. Muestre los Cursos cuya nota de examen parcial sea desde 17 Considere
las tablas tbCursos y tbNotas.
--Escriba su respuesta
Operador Like
19. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluApellidos
contenga la letra “v”.
20. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluApellidos
inicie con la letra R, S o T.
21. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluApellidos
tenga como segundo carácter la letra “a”.
22. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluApellidos
tenga como segundo carácter desde la letra “a” hasta la letra “m”.
23. Muestre todos los campos de la tabla tbAlumnos cuyo campo aluApellidos
tenga como segundo carácter desde la letra “n” hasta la letra “z”.
Funciones de agregado
Función COUNT()
--Escriba su respuesta
Función SUM()
Función AVG()
32. Muestre el promedio del campo pagoMonto de la tabla tbPagos del ciclo
2011-1.
--Escriba su respuesta
34. Muestre la mayor y menor nota de examen final agrupado por el campo
notaAluID en la tabla tbNotas.
--Escriba su respuesta
--Escriba su respuesta
--Escriba su respuesta
Combinación de tablas
--Escriba su respuesta
Resumen
1. La sentencia SELECT permite recuperar campos y registros de las tablas de una
Base de Datos.
4. La combinación interna INNER JOIN es la más usada para combinar dos o más
tablas que guardan relación.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-ES/library/ms176104(v=sql.120).aspx
o https://msdn.microsoft.com/es-ES/library/ms188385(v=sql.120).aspx
o https://msdn.microsoft.com/es-es/library/ms188047(v=sql.120).aspx
o https://msdn.microsoft.com/es-es/library/ms173454(v=sql.120).aspx
o http://www.desarrolloweb.com/articulos/2355.php
La instrucción INSERT agrega uno o varios registros nuevos a una tabla en SQL.
Donde:
Ejemplo1: Inserte un nuevo registro en la tabla tbDistritos indicando todos los campos
con sus respectivos valores.
Ejemplo2: Inserte un nuevo registro en la tabla tbDistritos indicando solo todos los
valores respectivamente.
Ejemplo3: Inserte tres nuevos registros en la tabla tbDistritos indicando solo todos los
valores respectivamente.
Sintaxis:
Donde:
FIELDTERMINATOR define el separador para cada campo, puede ser el
carácter de coma (,), punto y coma (;) o tabulador (\t).
ROWTERMINATOR define el separador para cada registro, se usa el carácter
de nueva línea (\n).
Donde:
Ejemplo7: Actualice los campos cliDireccion y cliTelefono cuyo cliID sea 3 en la tabla
tbClientes.
Donde:
Cree un nuevo archivo de consulta y escriba las sentencias SQL para los siguientes
casos:
Sentencia INSERT
--Escriba su respuesta
Sentencia UPDATE
--Escriba su respuesta
Sentencia DELETE
11. Copie los registros de la tabla tbPagosAux en una nueva tabla llamada
tbPagosAux2, luego borre todos los registros de la tabla tbPagosAux2.
Resumen
1. La sentencia INSERT agrega nuevos registros a una tabla perteneciente a una
Base de Datos.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/ms174335(v=sql.120).aspx#BasicSyntax
o https://msdn.microsoft.com/es-es/library/ms188365(v=sql.120).aspx
o https://msdn.microsoft.com/es-es/library/ms177523(v=sql.120).aspx#BasicSyntax
o https://msdn.microsoft.com/es-es/library/ms189835(v=sql.120).aspx#BasicSyntax
La dirección de un parámetro puede ser de entrada, esto quiere decir que al momento
de invocar un procedimiento almacenado se le pasa un valor a cada parámetro que se
ha definido para un trabajo interno dentro del procedimiento almacenado.
Sintaxis:
Ingresar solo un valor, en este caso será el valor para el primer parámetro:
Sintaxis:
Cree un nuevo archivo de consulta y escriba las sentencias SQL para los siguientes
casos:
--Escriba su respuesta
Parámetros de entrada
Parámetros de salida
Modificación de datos
Resumen
1. Los procedimientos almacenados, agrupan sentencias SQL para recuperar y
manipular datos que luego podrán ser invocados en repetidas veces si es
necesario.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/ms187926(v=sql.120).aspx
o https://msdn.microsoft.com/es-es/library/ms189762(v=sql.120).aspx
o https://msdn.microsoft.com/es-es/library/ms174969(v=sql.120).aspx
UNIDAD
4
OPERACIONES CONECTADAS A
UN ORIGEN DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno realiza operaciones de consulta y
actualización de datos en un entorno conectado a un origen de datos dentro de
una aplicación Windows utilizando librerías ADO.NET.
TEMARIO
ACTIVIDADES PROPUESTAS
Características de ADO.NET
Es independiente del lenguaje de programación que utilice.
Trabaja con datos desconectados del origen de datos que la aplicación utilice.
Integración con XML y ASP.NET.
Los dos componentes principales de ADO.NET 4.5 para el acceso a los datos y su
manipulación son los proveedores de datos .NET Framework y DataSet.
4.1.1.2. DataSet
Los proveedores de datos .NET Framework se utilizan para realizar una conexión a un
origen de datos, recuperar resultados y actualizar datos. Esos resultados se procesan
directamente, se colocan en un DataSet con el fin de que el usuario pueda verlos cuando
los necesite, se combinan con datos de varios orígenes o se utilizan de forma remota entre
niveles. Los proveedores de datos .NET Framework son ligeros, de manera que crean un
nivel mínimo entre el origen de datos y el código, con lo que aumenta el rendimiento sin
sacrificar funcionalidad. En la siguiente tabla, se describen los principales Proveedores de
datos .NET Framework:
Objeto Descripción
El proveedor de datos .NET Framework para SQL Server (SqlClient) usa su propio
protocolo para comunicarse con SQL Server. Es ligero y presenta un buen rendimiento
porque está optimizado para tener acceso a SQL Server directamente, sin agregar una
capa OLE DB u ODBC. Las clases del proveedor de datos .NET Framework para SQL
Server se encuentran en el espacio de nombres System.Data.SqlClient.
Clase Descripción
SqlConnection
Propiedad Descripción
Obtiene o establece la cadena utilizada para abrir una base
ConnectionString
de datos de SQL Server.
Método Descripción
Abre una conexión de base de datos con los valores de
Open()
propiedad que especifica ConnectionString.
Cierra la conexión con la base de datos.Es el método
Close()
preferido para cerrar cualquier conexión abierta.
Para realizar una conexión a SQL Server, en Visual C# usamos la siguiente sintaxis:
Donde:
Data Source define el nombre del servidor que contiene la Base de Datos.
Initial Catalog define el nombre de la Base de Datos.
User ID define el nombre de usuario que tiene acceso a la Base de Datos.
Password define la contraseña del usuario para acceder la Base de Datos.
SqlDataAdapter
SqlDataAdapter, se utiliza como un puente entre DataSet o DataTable y las tablas del
gestor de datos SQL Server para recuperar y guardar datos. SqlDataAdapter proporciona
este puente mediante el método Fill, que cambia los datos en DataSet para que coincidan
con los datos del origen de datos; y Update, que cambia los datos en el origen de datos
para que coincidan con los datos en DataSet utilizando las instrucciones de Transact-SQL
en el origen de datos adecuado.
Propiedad Descripción
Obtiene o establece un procedimiento almacenado o una
SelectCommand instrucción de Transact-SQL para seleccionar registros en el
origen de datos.
Obtiene o establece un procedimiento almacenado o una
InsertCommand instrucción de Transact-SQL para insertar nuevos registros
en el origen de datos.
Obtiene o establece un procedimiento almacenado o una
UpdateCommand instrucción de Transact-SQL para actualizar los registros del
origen de datos.
Método Descripción
Donde:
Instrucción SQL define la sentencia SQL para recuperar o manipular los datos de
una tabla. También puede ser el nombre de un Procedimiento Almacenado que
pertenece a la Base de Datos.
objConexion es la conexión creada para la Base de Datos.
Procedimiento
Control Nombre
DataGridView1 dgAlumnos
Label3 lblRegistros
Button1 btnCerrar
9. Presione el botón Acepar dos veces, luego active la opción Sí, incluir datos
confidenciales en la cadena de conexión y luego presione el botón
Siguiente.
11. En Elija los objetos de base de datos, marque la casilla de la tabla a mostrar
en el DataGridView, en este ejemplo será: tbAlumnos y luego presione el
botón Finalizar.
Haga doble clic en el título del formulario y escriba lo siguiente en el evento Load del
formulario:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Procedimiento
Control Nombre
DataGridView1 dgPagos
Label3 lblRegistros
Button1 btnCerrar
6. Luego, presione el botón Agregar… para cada uno de los tres campos
restantes y cambie las propiedades: Name, DataPropertyName y HeaderText
según corresponda:
Haga doble clic en el título del formulario e importe la biblioteca de conexión a SQL:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Resumen
1. ADO.NET proporciona acceso coherente a orígenes de datos como SQL Server y
XML.
3. Los dos componentes principales de ADO.NET 4.5 para el acceso a los datos y su
manipulación son los proveedores de datos .NET Framework y DataSet.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/h43ks021(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/a6cd7c08(v=vs.110).aspx
o https://msdn.microsoft.com/es-
es/library/system.data.sqlclient.sqlconnection(v=vs.110).aspx
o https://msdn.microsoft.com/es-
es/library/system.data.sqlclient.sqldataadapter(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/ms254931(v=vs.110).aspx
La clase DataAdapter se utiliza para recuperar datos de un origen de datos y llenar tablas
con un DataSet. El DataAdapter también actualiza los cambios realizados en el DataSet y
retorna los datos actualizados al origen de datos. Para realizar los procesos de consulta y
actualización, el DataAdapter se conecta a un origen de datos utilizando un objeto
Connection identificado por uno de los proveedores de datos .NET y utiliza objetos
Command para recuperar datos del origen de datos y resolver los cambios a dicho origen.
Cada proveedor de datos de .NET Framework incluido en .NET Framework cuenta con un
objeto DataAdapter: el proveedor de datos de .NET Framework para OLE DB incluye un
objeto OleDbDataAdapter, el proveedor de datos de .NET Framework para SQL Server
incluye un objeto SqlDataAdapter, el proveedor de datos de .NET Framework para ODBC
incluye un objeto OdbcDataAdapter y el proveedor de datos de .NET Framework para
Oracle incluye un objeto OracleDataAdapter.
El método Fill del DataAdapter se usa para llenar un DataSet con los resultados de la
propiedad SelectCommand del DataAdapter. El método Fill acepta como argumentos un
DataSet que se debe llenar y un objeto DataTable, o su nombre, que se debe llenar con las
filas que devuelve SelectCommand.
Procedimiento
Control Nombre
ComboBox1 cboAlumno
DataGridView1 dgPagos
Label4 lblRegistros
Button1 btnCerrar
Haga doble clic en el título del formulario e importe la biblioteca de conexión a SQL:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Muestra1:
Muestra2:
Procedimiento
Control Nombre
ComboBox1 cboAlumno
DataGridView1 dgPagos
Label4 lblRegistros
Button1 btnCerrar
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Procedimiento
Control Nombre
DataGridView1 dgAlumnos
DataGridView2 dgNotas
Label7 lblID
Label8 lblAlumno
Label9 lblRegistros
Button1 btnCerrar
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Cree un formulario que muestre la información de los pagos según el mes y año. Cree
el procedimiento almacenado que sea necesario y agréguelo a la clase clsDatos.
Resumen
1. La clase DataAdapter se utiliza para recuperar datos de un origen de datos y
llenar tablas con un DataSet. El DataAdapter también actualiza los cambios
realizados en el DataSet y retorna los datos actualizados al origen de datos.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-
es/library/system.data.sqlclient.sqldataadapter(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/bh8kx08z(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/bbw6zyha(v=vs.110).aspx
o http://univirtual.unicauca.edu.co/moodle/pluginfile.php/19788/mod_resource/content
/0/Material_PDF/9.-_Uso_de_procedimientos_almacenados.pdf
4.3.1.1. CommandText
Representa una cadena o texto cuya sintaxis es comprendida por el proveedor de acceso a
datos .NET que se utilice.
4.3.1.2. CommandType
Esta propiedad indica la forma en la que la propiedad CommandText será interpretada. Los
valores que puede tomar esta propiedad son:
CommandType.Text: Indica que la sentencia es un texto plano. Por ejemplo:
Este método devuelve un valor de tipo Object que tendremos que convertir según el valor
devuelto.
Otra opción es el objeto Parameter, que se puede crear mediante el constructor Parameter
o al llamar al método Add de la colección Parameters de Command. Parameters.Add
acepta como entrada argumentos del constructor o cualquier objeto Parameter ya
existente. Al establecer como una referencia nula el valor de Value de un objeto Parameter,
debe utilizar DBNull.Value.
Parámetro de entrada
Parámetro de salida
Procedimiento
Cree un SP que permita para buscar los registros que inician con el valor
ingresado como parámetro para el campo aluApellidos en la tabla tbAlumnos.
Control Nombre
GroupBox2
Control Nombre
TextBox4 txtValor
GroupBox1
Button1 btnBuscar
TextBox1 txtID
Button2 btnMostrarTodo
TextBox2 txtApellidos
TextBox3 txtNombres
DataGridView1 dgAlumnos
RadioButton1 rbtMasculino
Button3 btnNuevo
RadioButton2 rbtFemenino
Button4 btnCancelar
DateTimePicker1 dtpFechaNac
Button5 btnRegistrar
ComboBox1 cboEspecialidad
Button6 btnActualizar
ComboBox2 cboProcedencia
Button7 btnEliminar
Button8 btnCerrar
Registrar Alumno
Actualizar Alumno
Eliminar Alumno
Haga doble clic en el botón Nuevo para habilitar el evento Click y escriba:
Haga doble clic en el botón Cancelar para habilitar el evento Click y escriba:
Haga doble clic en el botón Registrar para habilitar el evento Click y escriba:
Haga doble clic en el botón Actualizar para habilitar el evento Click y escriba:
Haga doble clic en el botón Eliminar para habilitar el evento Click y escriba:
Haga doble clic en el botón Buscar para habilitar el evento Click y escriba:
Haga doble clic en el botón Mostrar Todo para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Resumen
1. La clase Command formula una petición y se la envía al origen de datos. Si esa
petición devuelve datos, el objeto Command se encarga de empaquetarlos y
devolverlos como un objeto DataReader, un valor escalar o como parámetros de
salida utilizados en el propio comando.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-
es/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx
o https://msdn.microsoft.com/es-es/library/59x02y99(v=vs.110).aspx
o https://msdn.microsoft.com/es-
es/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.100).aspx
o https://desdeceronetsql2.wordpress.com/2012/10/25/recuperar-1-valor-devuelto-de-
procedimiento-almacenado-en-c/
UNIDAD
5
OPERACIONES
DESCONECTADAS DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno realiza operaciones de consulta y
actualización de datos en un entorno desconectado de un origen de datos
dentro de una aplicación Windows utilizando librerías ADO.NET.
TEMARIO
ACTIVIDADES PROPUESTAS
Una de las ventajas de este modelo es que no necesitamos una conexión constante a
nuestra fuente de datos, lo que libera los recursos de la fuente de datos central y hace
posible que se atienda un mayor número de peticiones para datos compartidos.
ADO.NET utiliza cachés de datos que almacena en memoria, lo cual elimina la necesidad
de hacer locks a las bases de datos para proteger la integridad de los datos. Otra ventaja
es que facilita el intercambio de la información entre capas (en caso de tener una
arquitectura orientada a capas).
Los tipos de datos utilizados en las aplicaciones ADO.NET son fuertemente tipados, lo que
elimina la sobrecarga de procesamiento en conversiones de tipos de datos y facilita el
entendimiento del código.
Cada DataColumn tiene una propiedad DataType que determina el tipo de datos que
contiene el DataColumn. Por ejemplo, se puede restringir el tipo de datos a enteros,
cadenas o decimales. Puesto que los datos incluidos en el objeto DataTable normalmente
se vuelven a combinar en su origen de datos original, se debe hacer coincidir los tipos de
los datos con los del origen de datos.
Para crear un DataRow nuevo, tenemos el método NewRow() del objeto DataTable. Luego
de crear un DataRow nuevo, el método Add() permite agregar el nuevo DataRow a
DataRowCollection. Por último, el método AcceptChanges() del objeto DataTable para
confirmar la adición en el origen de datos.
Un objeto de la clase DataView representa una vista ordenada y/o filtrada de un objeto
DataTable y se utiliza cuando se desea vincular datos con los WebForms (Formulario Web)
o los WinForms (Formularios Windows).
La clase DataTable también tiene una propiedad DefaultView. Esta propiedad devuelve el
objeto DataView predeterminado para la tabla. Por ejemplo, si desea crear una vista
personalizada en la tabla, establezca la propiedad RowFilter o Sort, luego puede usar la
propiedad DefaultView para mostrar la información en su estado por defecto.
Para crear una vista filtrada y ordenada de datos, establezca las propiedades RowFilter y
Sort. Luego, utilice la propiedad Item para devolver un único DataRowView. También, se
pueden agregar y eliminar del conjunto de filas mediante los métodos AddNew y Delete.
Cuando se utilizan estos métodos, la propiedad RowStateFilter se puede establecer para
que especifique que DataView solo muestre las filas eliminadas o nuevas.
Procedimiento
Control Nombre
TextBox1 txtID
TextBox2 txtNombre
TextBox3 txtCosto
DataGridView1 dgEspecialidad
Button1 btnNuevo
Button2 btnCancelar
Button3 btnRegistrar
Button4 btnActualizar
Button5 btnEliminar
Button6 btnCerrar
Button7 btnEnviarCambios
Declare el DataSet:
Haga doble clic en el botón Nuevo para habilitar el evento Click y escriba:
Haga doble clic en el botón Cancelar para habilitar el evento Click y escriba:
Haga doble clic en el botón Registrar para habilitar el evento Click y escriba:
Haga doble clic en el botón Actualizar para habilitar el evento Click y escriba:
Haga doble clic en el botón Eliminar para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar para habilitar el evento Click y escriba:
Haga doble clic en el botón Enviar Cambios para habilitar el evento Click y escriba:
Actividad
Resumen
1. En el modelo de datos desconectado la aplicación ejecuta la consulta y almacena
los resultados de la misma para procesarlos después accediendo a un objeto de
tipo DataSet.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/system.data.datatable(v=vs.100).aspx
o https://msdn.microsoft.com/es-es/library/system.data.datacolumn(v=vs.100).aspx
o https://msdn.microsoft.com/es-es/library/system.data.datarow(v=vs.110).aspx
o https://support.microsoft.com/es-es/kb/308909
o https://msdn.microsoft.com/es-es/library/hy5b8exc(v=vs.110).aspx
UNIDAD
6
INTRODUCCIÓN A LINQ
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno realiza operaciones de consulta y
actualización de datos por medio del lenguaje de consulta integrado (LINQ)
dentro de una aplicación Windows de mejor calidad.
TEMARIO
ACTIVIDADES PROPUESTAS
LINQ incluye patrones estándar y de fácil aprendizaje para consultar y actualizar datos, y
su tecnología se puede extender para utilizar potencialmente cualquier tipo de almacén de
datos. Visual Studio incluye ensamblados de proveedores para LINQ que habilitan el uso
de LINQ con colecciones de .NET Framework, bases de datos SQL Server, conjuntos de
datos de ADO.NET y documentos XML.
Una consulta es una expresión que recupera datos de un origen de datos. Las consultas
normalmente se expresan en un lenguaje de consultas especializado. A lo largo del tiempo,
se han ido desarrollando lenguajes diferentes para los distintos tipos de orígenes de datos,
como SQL para las bases de datos relacionales y XQuery para XML. Por tanto, los
desarrolladores han tenido que aprender un nuevo lenguaje de consulta para cada tipo de
origen de datos o formato de datos que deben usar. LINQ simplifica esta situación al
proporcionar un modelo coherente para trabajar con los datos de varios tipos de formatos y
orígenes de datos. En una consulta LINQ, siempre se trabaja con objetos. Se utilizan los
mismos modelos de codificación básicos para consultar y transformar datos de
documentos XML, bases de datos SQL, conjuntos de datos ADO.NET, colecciones .NET y
cualquier otro formato para el que haya disponible un proveedor LINQ.
LINQ to SQL es una herramienta útil para programadores que no requieren la asignación a
un modelo conceptual. Si utiliza LINQ to SQL, puede usar el modelo de programación de
LINQ directamente en un esquema de base de datos existente.LINQ to SQL permite a los
programadores generar clases de .NET Framework que representan datos. En lugar de la
asignación a un modelo de datos conceptual, esas clases generadas se asignan
directamente a tablas de bases de datos, vistas, procedimientos almacenados y funciones
definidas por el usuario.
Con LINQ to SQL, los programadores pueden escribir código directamente en el esquema
de almacenamiento usando el mismo patrón de programación de LINQ que las
recopilaciones en memoria y DataSet, además de otros orígenes de datos como XML.
Visual Studio contiene un diseñador de LINQ to SQL que nos aporta una forma fácil de
modelar y visualizar una base de datos como un modelo de objeto de LINQ to SQL.
Mediante el diseñador LINQ to SQL se puede crear fácilmente una representación de las
tablas de la base de datos BDComercial que al momento de ser añadidas tendremos las
siguientes clases entidades creadas a partir del esquema de la base de datos:
Las flechas entre las clases representan las asociaciones/relaciones entre las diferentes
entidades. Son típicamente modeladas como relaciones primary-key/foreign-key en la base
de datos. La dirección de las flechas en el diseñador indica si la relación es uno-a-uno o
uno-a-varios.
Por ejemplo, la clase entidad tbDistritos tiene una relación de uno-a-varios con la clase
tbClientes. Esta relación definirá que la clase entidad tbClientes tenga una propiedad
llamada "tbDistritos" que los desarrolladores usarán para acceder a la entidad tbDistritos
para un registro de tbClientes dado. De igual manera, definirá que la clase entidad
tbDistritos tenga una colección de "tbClientes" que permitirá a los desarrolladores obtener
todos los tbClientes de un tbDistritos.
Visual Studio genera clases .NET para representar las entidades y las relaciones de la
base de datos que hemos modelado. Por cada archivo añadido a nuestra solución por el
diseñador LINQ to SQL también se generará una clase DataContext. Por medio de
esta,clase realizaremos las consultas a las entidades de nuestra base de datos. Esta clase
tendrá propiedades que representarán a cada tabla que hemos modelado, así como
métodos para cada procedimiento almacenado que añadamos.
LINQ to SQL nos permite modelar clases que mapeen una base de datos. Estas clases
son típicamente conocidas como "Clases Entidad" (en inglés "Entity Classes") y a las
instancias se las conoce como "Entidades" (en inglés "Entities"). Las propiedades de una
clase entidad mapean las columnas de la tabla.
Las clases entidad definidas por LINQ to SQL no tienen que derivar de una clase base
específica, esto es, que pueden heredar de cualquier objeto. Todas las clases creadas por
el diseñador de LINQ to SQL se definen como "clases parciales" con lo que podemos,
opcionalmente, añadir propiedades adicionales, métodos y eventos.
Las expresiones Lambda junto a las instrucciones que proporciona LINQ resultan en una
dupla complementaria en materia de desarrollo de software. La inclusión y el uso de
expresiones lambda en consultas de base de datos utilizando LINQ son elementales y
poderosos.
Cabe señalar que mediante LINQ resulta posible construir suficiente y eficiente código
para, no solamente poder acceder bases de datos, tablas, consultas, procedimientos
almacenados, triggers, etc., sino que también resulta posible manipular los datos en dichos
centros de datos de forma directa y eficaz. No se requiere de mucho esfuerzo y su principal
ventaja es que no es necesario aprender por completo el lenguaje SQL y todos sus
artilugios, de manera que de esta forma, se pueda explotar todas sus virtudes. LINQ ofrece
una forma menos exhaustiva de desarrollar software y para ello recurre al uso de
expresiones lambda entre otras técnicas.
Operadores de LINQ
Las clases del espacio de nombres System.Linq y el resto de los espacios de nombres que
admiten consultas LINQ incluyen métodos a los que puede llamar para crear y refinar
consultas basándose en las necesidades de la aplicación.
from (Cláusula)
En una consulta LINQ, el primer paso es especificar el origen de datos. En C#, como en la
mayoría de los lenguajes de programación, se debe declarar una variable antes de poder
utilizarla. En una consulta LINQ, la cláusula from aparece en primer lugar para introducir el
origen de datos y la variable de rango.
Ejemplo1:
where (Cláusula)
Aplicar un filtro en forma de expresión booleana. El filtro hace que la consulta devuelva solo
los elementos para los que la expresión es verdadera. El resultado se genera mediante la
cláusula where. El filtro aplicado especifica qué elementos se deben excluir de la
secuencia de origen. En la siguiente tabla, se describen los principales métodos:
Método Descripción
Contains(<expr>) Compara si contiene la expresión señalada.
StartsWith(<expr>) Compara si inicia con la expresión señalada.
EndsWith(<expr>) Compara si finaliza con la expresión señalada.
Equals(<expr>) Compara si es igual a la expresión señalada.
Ejemplo2:
Obtenga la información de la tabla tbClientes filtrado por el estado civil “S” (Soltero), el ID
de Distrito superior a 10 y el apellido paterno inicia con la letra “C”.
orderby (Cláusula)
La cláusula orderby hará que los elementos de la secuencia devuelta se ordenen según el
comparador predeterminado del tipo que se va a ordenar de forma ascendente o
descendente (ascending o descending). Por ejemplo, si el campo a ordenar es de tipo
cadena, el comparador predeterminado realiza una ordenación alfabética de la A a la Z.
Ejemplo3:
group (Cláusula)
La cláusula group permite agrupar los resultados según la clave que se especifique. Al
finalizar, una consulta con una cláusula group, los resultados adoptan la forma de una lista
de listas. Cada elemento de la lista es un objeto que tiene un miembro Key y una lista de
elementos agrupados bajo esa clave.
Ejemplo4:
select (Cláusula)
Ejemplo5:
join (Cláusula)
Ejemplo6:
Procedimiento
Control Nombre
DataGridView1 dgAlumnos
Label4 lblRegistros
Button1 btnCerrar
Haga doble clic en el título del formulario e instancie la clase LINQ to SQL.
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Procedimiento
Control Nombre
ComboBox1 cboEspecialidad
DataGridView1 dgAlumnos
Label4 lblRegistros
Button1 btnCerrar
Haga doble clic en el título del formulario e instancie la clase LINQ to SQL.
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Procedimiento
Control Nombre
ComboBox1 cboEspecialidad
DataGridView1 dgAlumnos
Label4 lblRegistros
Button1 btnCerrar
Haga doble clic en el título del formulario e instancie la clase LINQ to SQL.
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Procedimiento
Control Nombre
Control Nombre
ToolStrip1
Label5 lblID
ToolStripButton1 tsbAgregar
TextBox1 txtNombre
ToolStripButton2 tsbEditar
NumericUpDown1 nudNCreditos
ToolStripButton3 tsbEliminar
DataGridView1 dgCursos
ToolStripButton4 tsbCerrar
Cree el procedimiento spUltimoCurID que muestre el último valor del campo curID
de la tabla tbCursos, ordenado por curID en forma descendente.
Haga doble clic en el título del formulario e instancie la clase LINQ to SQL.
Haga doble clic en el botón Agregar Curso para habilitar el evento Click y escriba:
Haga doble clic en el botón Editar Curso para habilitar el evento Click y escriba:
Haga doble clic en el botón Eliminar Curso para habilitar el evento Click y escriba:
Haga doble clic en el botón Cerrar Formulario para habilitar el evento Click y escriba:
Actividad
Resumen
1. LINQ son las siglas en inglés de, Language Integrated Query (Lenguaje de
Consulta Integrado). LINQ es un conjunto de características presentado en Visual
Studio .NET el cual define un conjunto de capacidades de consulta eficaces a la
sintaxis de los lenguajes de programación en C# y Visual Basic.
4. Visual Studio contiene un diseñador de LINQ to SQL que nos aporta una forma
fácil de modelar y visualizar una base de datos como un modelo de objeto de LINQ
to SQL.
5. Visual Studio genera clases .NET para representar las entidades y las relaciones
de la base de datos que hemos modelado. Por cada archivo añadido a nuestra
solución por el diseñador LINQ to SQL también se generará una clase
DataContext.
6. Las expresiones Lambda junto a las instrucciones que proporciona LINQ resultan
en una dupla complementaria en materia de desarrollo de software. La inclusión y
el uso de expresiones lambda en consultas de base de datos utilizando LINQ son
elementales y poderosos. Entre los operadores LINQ tenemos: from, where,
orderby, group, select y join.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/bb397906.aspx
o https://msdn.microsoft.com/es-pe/library/bb397927.aspx
o https://msdn.microsoft.com/es-pe/library/bb384428(v=vs.120).aspx
o http://ortizol.blogspot.pe/2014/06/expresiones-lambda-en-csharp-parte-3-
expresiones-lambda-y-linq.html
UNIDAD
7
MANEJO DE REPORTES
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno elabora reportes por medio de Crystal
Reports con listados conectados a un origen de datos dentro de una aplicación
Windows.
TEMARIO
ACTIVIDADES PROPUESTAS
Con Crystal Reports para Visual Studio .NET, puede almacenar informes en plataformas
Windows y Web y publicar informes Crystal como servicios Web de informes en un servidor
Web. Por ejemplo, puede crear una aplicación Web que permita a los usuarios profundizar
en un gráfico y filtrar la información en función de sus necesidades. Realmente, el gráfico
es un informe de Crystal que interactúa con otros controles de la aplicación.
En Visual Studio .NET, se puede crear un nuevo informe Crystal Reports o agregar uno
existente a un proyecto. Puede guardar el informe en un equipo local o publicarlo como
servicio Web en un servidor Web. En función de si va a desarrollar una aplicación de
Windows o una aplicación Web, deberá enlazar primero el informe con Windows Forms
Viewer o con Web Forms Viewer y, a continuación, crear la aplicación. Los usuarios
pueden ejecutar la aplicación para Windows en una plataforma de Windows o implementar
la aplicación Web en un servidor Web y ver el informe Crystal en un explorador Web.
Crystal Reports ha formado parte de Visual Studio desde 1993, y ahora es el estándar de
elaboración de informes de Visual Studio. Se incluye en todas las copias de Visual Studio
Professional y se integra directamente en el entorno de desarrollo.
Crystal Reports para Visual Studio incorpora la posibilidad de crear contenido interactivo
con calidad de presentación al entorno de Windows. Con Crystal Reports para Visual
Studio, puede crear informes complejos y profesionales en un programa basado en GUI.
Después, puede conectar el informe a casi todos los orígenes de base de datos, así como
a datos proxy, como un conjunto de resultados (por ejemplo, un ADO.NET DataSet). Los
asistentes del diseñador de GUI le permiten establecer fácilmente los criterios de formato,
agrupamiento y gráficos, etc.
Puede almacenar el informe en una aplicación Web o para Windows, con uno de los
controles de visores de Crystal Reports para Visual Studio.
Crystal Reports para Visual Studio incluye un SDK extenso. Puede utilizarlo para
interactuar con el informe mediante programación en tiempo de ejecución, usando uno de
los cuatro modelos de objetos posibles:
CrystalReportViewer, el modelo de objetos más sencillo.
ReportDocument, el modelo de objetos más completo.
ReportClientDocument, el modelo de objetos más completo. Este modelo de
objetos está disponibles con Crystal Reports 2008 o con un servidor RAS.
InfoObject, un modelo de objetos muy eficaz para la programación y configuración
de informes en el marco de Crystal Reports Server o BusinessObjects Enterprise.
Con el fin de ofrecer el acceso a datos más flexible para los programadores, los
controladores de base de datos de Crystal Reports se han diseñado para proporcionar un
modelo de extracción e inserción de acceso a datos.
A continuación, seleccione las tablas de la base de datos que desee utilizar en el informe.
Crystal Reports puede vincular las tablas automáticamente, o bien puede especificar el
modo en el que desea vincularlas. Las tablas de bases de datos se vinculan para que los
registros de una base de datos coincidan con los registros relacionados de otra tabla.
Crystal Reports Designer utiliza una funcionalidad de arrastrar y colocar parecida a la que
se utiliza en Visual Studio .NET, se arrastra un objeto de informe hasta el diseñador (como
un campo de base de datos o un objeto de texto) y se utiliza la ventana Propiedades o el
menú contextual para dar formato al objeto.
Algunos de los objetos de informe que puede añadir al informe y a los que puede dar
formato según las necesidades incluyen:
Campos de base de datos.
Campos de fórmula.
Campos de parámetro.
Campos de nombre de grupo.
Campos de total acumulado.
Campos de resumen.
Gráficos.
Subinformes.
Crystal Reports Designer está dividido en secciones de informe, como los encabezados de
las secciones, los pies de página y los detalles. Los objetos se arrastran a una sección de
informe.
d. Pie de informe: Los objetos que se colocan en el Pie de informe se imprimen una
vez, al final del informe. Esta sección se utiliza para incluir la información que desea
que solo aparezca una vez al final del informe, como los totales generales.
o Los gráficos y las tablas cruzadas de esta sección contienen los datos de
todo el informe.
o Las fórmulas de esta sección se evalúan una vez, al final del informe.
Procedimiento
15. En la sección Campos, agregue todos los campos desde tbAlumnos. Luego,
presione el botón Siguiente.
28. En la Sección del pie de grupo, agregue un Objeto de texto escriba el texto
Cantidad de alumnos y luego arrastre el campo de totales
RegistrosPorGrupo.
29. En la Sección 2 (Encabezado de página), inserte una imagen para ello realice
clic derecho dentro de la sección / Insertar / Imagen…, busque y elija la
imagen. Luego, presione el botón Abrir. Ubíquelo y cambie el tamaño de la
imagen.
Cree un formulario que muestre la información del reporte anterior que filtre la tabla
Alumnos según la Especialidad elegida por medio de parámetros usando Crystal
Reports.
Procedimiento
Control Nombre
ComboBox1 cboEspecialidad
Button1 btnMostrarReporte
Haga doble clic en el título del formulario e instancie la clase LINQ to SQL.
Haga doble clic en el botón Mostrar Reporte para habilitar el evento Click y escriba:
Actividad
Consideraciones:
Se escribe el ID del alumno en el cuadro de texto y al perder el enfoque si el ID
existe muestra sus Apellidos y Nombre en un Label, caso contrario muestra un
mensaje apropiado.
Consideraciones:
Al dar doble clic en la fila del alumno deseado, sus datos son mostrados en el
Form3.
Resumen
1. Crystal Reports para Visual Studio .NET es la herramienta de elaboración de
informes estándar para Visual Studio .NET. Permite crear contenido interactivo con
calidad de presentación en la plataforma .NET, lo que ha supuesto una ventaja
fundamental para Crystal Reports durante años.
2. Crystal Reports para Visual Studio incluye un SDK extenso. Puede utilizarlo para
interactuar con el informe mediante programación en tiempo de ejecución, usando
uno de los cuatro modelos de objetos posibles: CrystalReportViewer,
ReportDocument, ReportClientDocument y InfoObject.
6. Algunos de los objetos de informe que puede añadir al informe y a los que puede
dar formato según las necesidades incluyen: Campos de base de datos, Campos
de fórmula, Campos de total acumulado, entre otros.
Puede revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad:
o https://msdn.microsoft.com/es-es/library/aa287933(v=vs.71).aspx
o http://www.sap.com/solution/sme/software/analytics/crystal-visual-studio/index.html
o https://msdn.microsoft.com/es-es/library/ms225593(v=vs.90).aspx