GUIA DE ESTUDIOS CARRERA: Tecnología en Análisis de Sistemas SEMESTRE: Segundo ASIGNATURA: Programación Comercial Cód. Asig.: PF-S2- LPCO CRÉDITOS: 5 Créditos HORAS: 80 Horas DOCENTE RESPONSABLE: Ing. Héctor Mena INTRODUCCIÓN: ¡Estimado estudiante….! Empezar una nueva asignatura representa reafirmar el compromiso que al principio te propusiste, y al igual que muchos que iniciaron esta carrera, te encuentras entre aquellos que lograron las metas iniciales. Estudiar una profesión como Tecnología en Análisis de Sistemas no es fácil, tus propósitos deben mantenerse firmes, debes levantarte al caer y gozar del triunfo que acompaña al trabajo terminado. Vamos a iniciar el estudio de la asignatura de Programación Comercial, cuyo requisito es Fundamentos de Programación Esta asignatura guía al estudiante en el desarrollo de aplicaciones visuales básicas utilizando un lenguaje que soporte programación visual. Se ha elegido C# por ser un lenguaje de uso libre y fundamentado en el Lenguaje JAVA. Ahora, con tus aprendizajes podrás desarrollar aplicaciones informáticas, en el lenguaje C#, aplicando los principios de la programación visual, logrando alcanzar el nivel que en nuestra Institución exigimos a los futuros Tecnólogos en Análisis de Sistemas. El objetivo de esta asignatura es desarrollar aplicaciones de software visuales utilizando adecuadamente los principios de diseño de interfaces gráficas en el lenguaje de programación C#, para lo cual dividiremos el contenido temático en los siguientes temas: TEMA I: CONCEPTOS DE PROGRAMACIÓN. Consiste en describir y utilizar las principales estructuras de programación asi como componentes contenedores y no contenedores de C# de las interfaces gráficas. TEMA II: CLASES Y OBJETOS. Con este tema te prepararás para organizar el código de una aplicación C# y a controlar y/o generar excepciones para elevar el nivel de seguridad del software que desarrolles. TEMA III: PROGRAMACIÓN CON ACCESO A DE BASES DE DATOS. Aprenderás a construir aplicaciones que acceden a bases de datos SqlServer y Mysql. Querido estudiante, si te esfuerzas, lograrás alcanzar una de las principales habilidades del Analista de sistemas, la programación, por lo que te pido considerar las sugerencias y sobretodo asistir con puntualidad a los encuentros programados. Bienvenido….a estudiar la Programación Comercial…!!!!!!!!!!! Héctor Mena C. 2 Ing. Héctor Mena Programación Comercial ÍNDICE Introducción……………………………………………………………………………. 3 Información general……...………………………………………………………… 4 Syllabus………………………………………………………………………………… 6 Orientaciones para el uso de la guía de estudio 8 Desarrollo de Actividades: Tema 1………………………….………………...…...………………………………. 13 Tema 2………………………….………………...…...………………………………. 23 Tema 3………………………….………………...…...………………………………. 31 Tema 4………………………….………………...…...………………………………. 39 Anexos Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 3 SYLLABUS DE LA ASIGNATURA I. DATOS INFORMATIVOS CARRERA: Análisis de Sistemas NIVEL: Tecnológico TIPO DE CARRERA: Tradicional NOMBRE DE LA ASIGNATURA: Lenguajes de programación comercial. CÓD. ASIGNATURA: PF-S2-LPCO PRE – REQUISITO: PF-S1-ININ, PF-S1-FUPR CO – REQUISITO: PF-S2-ESDA # CRÉDITOS: 5 TOTAL HORAS: SEMESTRE: Segundo 80 PERIODO ACADÉMICO: Octubre 2015 – Marzo 2016 MODALIDAD: Presencial DOCENTE RESPONSABLE: Ing. Héctor Mena I. FUNDAMENTACIÓN Dentro del avance tecnológico diario, y los pilares fundamentales en la preparación de un profesional en el área de Sistemas, es importante el estudio de la tecnología del entorno .NET con su lenguaje emblemático C#, la cual es, hoy en día uno de los principales lenguajes de desarrollo acogido fuertemente a nivel mundial por su velocidad de aprendizaje. Basado en lenguaje C y fuertemente influenciado por C++, este lenguaje de programación permite generar una interfaz gráfica muy amigable e intuitiva, en conjunto con motores de base de datos como SQLServer brindan un gran potencial y un sinnúmero de soluciones y aplicaciones para automatizar procesos y resolver problemas a gran escala. 4 Ing. Héctor Mena Programación Comercial Por tal razón, el módulo de programación comercial está diseñado para que el estudiante adquiera los conocimientos de programación en el framework de .NET, comenzando por el aprendizaje de la consola de C# para continuar con el uso de herramientas para la creación de interface gráfica. Este curso tiene como objetivo el desarrollo de aplicaciones usando las diversas herramientas ofrecidas por el lenguaje de programación, así como sus complementos. Aplica técnicas de diseño de algoritmos, estructuras de datos y de programación para la representación de modelos reales bajo un lenguaje de programación. Desarrolla y depura aplicaciones utilizando diversos métodos de inserción, ordenamiento y búsqueda en la elaboración de soluciones bajo un lenguaje de programación, asumiendo una actitud reflexiva y critica frente a las ventajas y desventajas de estos métodos. Valora el uso del lenguaje para desarrollar aplicaciones en modo escritorio. Asume una actitud analítica y experimental para el desarrollo y comprobación de los conocimientos adquiridos. III. OBJETIVOS ESPECÍFICOS Caracterizar la plataforma de los lenguajes de programación comercial, su arquitectura y principales componentes mediante el análisis de su funcionamiento Desarrollar aplicaciones visuales utilizando adecuadamente los principios de sistemas visuales. Desarrollar aplicaciones entornos Windows que accedan a motores de base de datos para la manipulación de datos Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 5 IV. CONTENIDOS Conocimientos I. Conceptos de programación y componentes de C#. II. Clases y objetos. III. Programación con acceso a base de datos Habilidades Valores Caracterizar los componentes de los lenguajes de programación. Caracterizar los componentes propios de C# Resolver ejercicios básicos sobres las estructuras repetitivas y selectivas. Desarrollar aplicaciones en Windows. Desarrollo de aplicaciones visuales con acceso a base de datos. Desarrollar acceso a BD con LINQ Creatividad al momento de diseñar aplicaciones de windows. Respeto al momento de recibir consejos y sugerencias. Honestidad al crear aplicaciones auténticas. Comunicación para la relaciones de las ventanas con la base de datos V. PLAN TEMÁTICO DESARROLLO DEL PROCESO CON TIEMPO EN HORAS TEMAS DE LA ASIGNATURA C Conceptos de programación 5 Componentes y objetos T L 15 10 2 4 Programación con acceso a base de datos 2 Total de horas 9 6 S CP CE E THP TI THA 10 40 30 70 6 8 20 15 35 3 7 8 20 10 30 22 23 26 80 55 135 Ing. Héctor Mena Programación Comercial II. Leyenda: C – Conferencias. S – Seminarios. CP – Clases prácticas. CE – Clase encuentro. T – Taller. L – Laboratorio. E- Evaluación. THP – Total de horas presenciales. TI – Trabajo independiente. THA – Total de horas de la asignatura. VI. SISTEMA DE CONTENIDOS POR UNIDADES DIDÁCTICAS Tema 1: Conceptos de programación. Objetivo: Resolver problemas básicos de programación haciendo uso de la sintaxis del lenguaje de programación C# y sus principales componentes visuales, Sistema de conocimientos Sistema de habilidades Introducción. Orígenes, ventajas desventajas C#. Describir la arquitectura de la plataforma .NET. y de Caracterizar los componentes de la plataforma. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios Sistema de valores Impulsar la perseverancia, honestidad y disciplina en el desarrollo de aplicaciones en entorno Windows. 7 Estructuras selectivas repetitivas. y Manejo errores. de Desarrollo aplicaciones Windows. de Dominar sintaxis y semántica lenguaje. la la del Desarrollar aplicaciones entorno Windows. en Manejo de componentes: label, textbox, listbox, combobox, datagridview, timer. Tema 2: Clases y objetos. Objetivo: Aplicar los fundamentos principales de la programación orientada a objetos como una alternativa a la programación estructurada. Sistema de conocimientos Sistema de habilidades Definición de clase. Atributos métodos y propiedades. Creación de objetos. Encapsulamiento. Herencia polimorfismo. Introducción a LINQ 8 y Conceptualizar la terminología y las ventajas de la programación orientada a objetos. Sistema de valores Fomentar e impulsar la investigación, responsabilidad y emprendimiento para la creación de programas orientados a objetos. Utilizar las características de la programación orientada a objetos en el desarrollo de aplicaciones visuales Ing. Héctor Mena Programación Comercial Tema 3: Programación con acceso a base de datos. Objetivo: implementar aplicaciones visuales que accedan a la base de datos. Sistema de conocimientos Sistema de habilidades Sistema de valores Características y componentes de ADO .NET. Diseñar aplicaciones 3 capas. Clases de ADO: conection, command, DataAdapter, DataSet, DataReader. Diseñar aplicaciones con conexión a una base de datos en Fomentar la importancia de la conexión de aplicaciones Windows con un motor de base de datos. Componentes de un DataSet: DataTable, DataColum, DataRow. Conexión a una base de datos SQLServer. Operaciones con base de datos, select, insert, delete, update. Utilización LINQ SQLServer. de con Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 9 VII. ORIENTACIONES METODOLÓGICAS Y DE ORGANIZACIÓN DE LA ASIGNATURA. En cada periodo de clase se presentará el tema, exponiendo el objetivo específico y las habilidades que se desea alcanzar mediante el auto aprendizaje (exploraciones). La participación en el aula de clases refuerza las tareas o investigaciones que se enviaran a casa. Las actividades desarrolladas en el periodo de clases son una rica y variada selección de aplicaciones del mundo real, estas ofrecen un constante repaso de las habilidades para resolver problemas. Sin dejar atrás los trabajos en equipos, que son una parte importante de la formación profesional (la comunicación entre compañeros de trabajo) motivando al estudiante a pensar, hablar y escribir soluciones en un ambiente de aprendizaje de mutuo apoyo. Entre los métodos empleados será expositivo con trabajo independiente por el grado de participación de los sujetos. Por el contenido se llevará a cabo los métodos reproductivos y productivos. Y por la lógica del desarrollo de proceso de formación se empleará el método inductivo deductivo. Todo estudiante llevara durante el desarrollo del proceso un diario de campo, donde recopilara las investigaciones y ejercicios realizados debidamente clasificados e indexados como material bibliográfico de apoyo. Las estructuras serán analizadas en forma algorítmica sin especificación de algún lenguaje de programación. 10 Ing. Héctor Mena Programación Comercial VIII. RECURSOS DIDÁCTICOS Básicos: marcadores, borrador, pizarra de tiza líquida. Audiovisuales: Computador, retroproyector, laboratorio de computación. Técnicos: Documentos de apoyo, texto básico. IX. SISTEMA DE EVALUACIÓN DE LA ASIGNATURA El sistema de evaluación será sistemático y participativo. Se negociará con los estudiantes los indicadores de la evaluación colectiva, tanto para ellos como para el profesor, se tomarán los siguientes indicadores: Asistencia Puntualidad Participación en clases Trabajo en grupo La evaluación es un proceso continuo y permanente en lo conceptual, procedimental y actitudinal, de acuerdo al reglamento se aplicarán diferentes tipos de evaluación: o Diagnóstica: establecer el esquema conceptual de partida. o Formativa: durante el proceso, permite efectuar reajustes a la planificación, y retroalimentar la información. o Final: primera aproximación del diseño de investigación, presentación y defensa ante los compañeros y el docente. Cabe destacar que también se aplicará autoevaluación, coevaluación y heteroevaluación. El sistema de evaluación se desarrollará en dos fases: Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 11 1. Evaluación del aprendizaje a. Inicial b. Procesual c. Final 2. Acreditación a. Presentación de un proyecto por escrito. b. Disertación del proyecto. X. BIBLIOGRAFÍA BÁSICA Y COMPLEMENTARIA Argos-Vergara. 1989. INFORMATICA Y COMPUTACION. España : Ed: ArgosVergara, 1989. CEREZO Yolanda, PEÑALBA Olga y CABALLERO Rafael. 2006. Iniciación a la programación en C#: un enfoque práctico. España Ed:Delta Publicaciones, 2006. FERGUSON Jeff, PATTERSON Brian, BERES Jason, BOUTQUIN Pierre, GUPTA Meeta. 2003. La biblia C#. España Ed:Anaya Multimedia, 2003. GROUSSARD, Thierry. 2011. C# 4: los fundamentos del lenguaje – Desarrollas con Visual Studio 2010. España Ed:Editions ENI, 2011. Laurent, DEBRAUWER. 2012. Patrones de diseño para C#. España Ed:Editions ENI, 2012. LIBERTY Jesse, MacDonald Brian. 2006. Learning C# 2005. Estados Unidos Ed: O’Reilly Media, 2006.. Machala, 29 de septiembre del 2015 Héctor Elías Mena Cornejo DOCENTE 12 Ing. Héctor Mena Programación Comercial ORIENTACIONES PARA EL USO DE LA GUÍA DE ESTUDIOS I. GENERALIDADES Antes de empezar con nuestro estudio, debes tomar en cuenta lo siguiente: 1. Tener una actitud positiva, voluntad, motivación e interés 2. Lee detenidamente y reflexiona los enlaces y libros que se te mostrarán a continuación, esto te permitirá tener un concepto más claro del tema a tratar. 3. Cuando hayas hecho la primera lectura comprensiva, procede a desarrollar las actividades, poniendo en práctica tu actitud crítica y reflexiva, tus capacidades de síntesis y tu creatividad. 4. Para estudiar debes elegir siempre un lugar tranquilo, cómodo, con buena iluminación y tener sobre la mesa la bibliografía básica, papel, esfero, etc. 5. Planifica el tiempo dedicado al sueño y a las comidas, casi todos necesitamos de 8 horas de sueño. 6. Toma en cuenta las horas que son dedicadas a tu trabajo u ocupación personal. Lo importante es saber determinar el tiempo que necesitas para tus estudios. 7. Si tienes alguna duda o inquietud, contáctate de inmediato con tu docente. Él estará siempre presto a ayudarte. Para el desarrollo de asignatura se sugiere lo siguiente: Necesitarás de un cuaderno de apuntes, y un computador Core I3, 500 GB de disco duro y memoria RAM de mínimo 2GB Instaladores de Microsoft Visual Studio, Microsoft SQLSERVER, XAMPP, Mysql, MysqlFront o Sqlyog Enterprise Todos tus trabajos debes entregarlos en CD. Lee reflexivamente el texto guía, en ella constan todos los temas a los que corresponden las actividades planteadas. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 13 Cuando hayas realizado esta lectura comprensiva, procede a desarrollar las actividades. No hagas una copia textual, sino, contesta con tus propias palabras. Para realizar las actividades, además de la lectura puedes ayudarte con la técnica del subrayado, mapas conceptuales, cuadros sinópticos, etc. Incorporamos en esta guía los siguientes gráficos para un mejor desarrollo Orientaciones de tareas Apuntes Claves en el contenido tratado Síntesis del contenido tratado 14 Ing. Héctor Mena Programación Comercial DESARROLLO DE ACTIVIDADES Unidad didáctica I: Conceptos De Programación Introducción: En este primer capítulo te invitamos a conceptualizar y revisar los conceptos de código fuente, archivo ejecutable así como programación, eso nos ayudara a entender cómo funciona un programa que escribiremos. Es muy importante realizar todos los procesos matemáticos que se han desarrollado desde la primaria y secundaria, puesto que todo programa son simples procesos matemáticos. En la sociedad moderna, hay muchos programadores, pero poco de ellos tienen un código que sea fácil de interpretar por otros programadores, esto se vuelve en un problema al momento de dar el código a otros programadores, que es demasiado difícil de interpretar, sin embargo es funcional. Objetivo de la unidad didáctica I: Resolver problemas básicos de programación haciendo uso de la sintaxis del lenguaje de programación C# y sus principales componentes visuales. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 15 Sistema de contenidos de la unidad didáctica I: Sistema de conocimientos Sistema de habilidades Introducción. Orígenes, ventajas desventajas C#. Estructuras selectivas repetitivas. Sistema de valores Describir la arquitectura de la plataforma .NET. y de y Manejo errores. de Desarrollo aplicaciones Windows. de Caracterizar los componentes de la plataforma. Dominar sintaxis y semántica lenguaje. la la del Desarrollar aplicaciones entorno Windows. en Impulsar la perseverancia, honestidad y disciplina en el desarrollo de aplicaciones en entorno Windows. Manejo de componentes: label, textbox, listbox, combobox, datagridview, timer. 16 Ing. Héctor Mena Programación Comercial Desarrollo de contenidos: En el presente es muy importante el uso de programas con el propósito de automatizar tareas, dentro de las cuales estas son muy importantes en el ámbito social, ya que nos permite automatizar un gran número de tareas. ¿Que es C#? C# (Si Sharp) es un lenguaje de programación orientado a objetos, fuertemente influido por lenguajes de programación como JAVA, C++ y Pascal, es totalmente orientado a objetos, desarrollado y estandarizado por Microsoft como parte de una plataforma más grande tal es el caso de .NET Su sintaxis básica se asemeja mucho a C++ y a JAVA, aunque incluye muchas mejoras derivadas de otros lenguajes de programación. En C# podemos generar aplicaciones en plataformas Windows, Unix, Android, IOS, Windows Phone, Mac OS y GNU/Linux. Para entender mas a fondo sobre que es C# lee y analiza el siguiente link: https://msdn.microsoft.com/es-ec/library/kx37x362.aspx ¿Qué es .NET? .NET Framework es un marco de trabajo donde se incluye muchos de los componentes otorgados en C# y otros lenguajes de programación como VB.NET, F# entre otros. Desarrollado por Microsoft desde el 13 de febrero del 2002, es una gran biblioteca de clases conocido como marco de biblioteca de clases, permitiendo usar códigos escritos en otros lenguajes de programación dentro de esta biblioteca. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 17 .NET se encarga de brindar sobre todo métodos de conexión sobre las bases de datos, así como seguridad en las aplicaciones que escribimos sobre dicho núcleo así como las comunicaciones en la redes de datos. Para entender mas a fondo sobre que es .NET lee y analiza el siguiente link: https://msdn.microsoft.com/es-es/library/zw4w595w(v=vs.110).aspx ¿Qué Tipos de datos podemos encontrar en C#? Nombre corto Clase .NET Tipo Ancho Intervalo (bits) Byte Byte Entero sin signo 8 0 a 255 sbyte SByte Entero con signo 8 -128 a 127 Int Int32 Entero con signo 32 -2.147.483.648 a 2.147.483.647 Uint UInt32 Entero sin signo 32 0 a 4294967295 short Int16 Entero con signo 16 -32.768 a 32.767 ushort UInt16 Entero sin signo 16 0 a 65535 Long Int64 Entero con signo 64 -922337203685477508 a 922337203685477507 ulong UInt64 Entero sin signo 64 0 a 18446744073709551615 Float Single Tipo de punto flotante de precisión simple 32 -3,402823e38 a 3,402823e38 double Double Tipo de punto flotante de precisión doble 64 -1,79769313486232e308 a 1,79769313486232e308 Char Char Un carácter Unicode 16 Símbolos Unicode utilizados en el texto 18 Ing. Héctor Mena Programación Comercial Bool object string decimal Boolean Tipo Boolean lógico Object Tipo base de todos los otros tipos String Una secuencia de caracteres Decimal Tipo preciso fraccionario o integral, que puede representar números decimales con 29 dígitos significativos 8 True o false 128 ±1.0 × 10e−28 a ±7.9 × 10e28 Para entender mas a fondo los tipos de datos que existen en C# lee y analiza el siguiente link: https://msdn.microsoft.com/es-es/library/ms228360(v=vs.90).aspx Visual Studio y C# Microsoft Visual Studio es un IDE ( Entorno de desarrollo integrado) para el sistema operativo Microsoft Windows, donde ofrece soporte para múltiples lenguajes de programación como C++, C#, Visual Basic .NET, F#, JAVA, entre otros. Su lanzamiento oficial fue el 1 de mayo de 1997, desde sus inicios han aparecido muchas versiones de las cuales poco a poco se han introducido mucho a las mejoras que se han hecho sobre el Framework .NET de las cuales son muchas las mejoras que se fijaron desde un inicio. En Visual Studio se pueden crear aplicaciones para estaciones de trabajo, paginas web, para dispositivos móviles e incluso con consolas. Para entender las ediciones que existen en Visual Studio analiza el siguiente link: https://www.youtube.com/watch?v=pQ6Ezq72J5A Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 19 Para familiarizarte con el entorno de desarrollo mira y analiza el siguiente link: https://www.youtube.com/watch?v=_LUuWI-g_ew Programando un “Hola mundo” 1. 2. 3. 4. 5. Inicie visual studio. En la barra de menú, elija archivo, nuevo, proyecto. A continuación escogeremos aplicación de consola. En el cuadro nombre, especificamos el nombre del proyecto. Si Program.cs no está abierto en Editor de código, abra el menú contextual de Program.cs en Explorador de soluciones y, a continuación, elija Ver código. // Hola Mundo en C#. using System; namespace HolaMundo { class Hello { static void Main() { Console.WriteLine("Hola Mundo!"); // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } 20 Ing. Héctor Mena Programación Comercial Para visualizar el primer hola mundo en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=WFBe0K-B2ZI Una vez que ya hemos creado nuestro primer “hola mundo”, nos hemos de estar preguntando como se hace para ingresar una variable en la consola de C#. En el siguiente Ejemplo veremos cómo hacerlo: // Ingresando un nombre en C#. using System; namespace HolaNombre { class Hello { static void Main() { // Declaramos una Variable de tipo String. String nombre= new String(); // Solicitamos por consola el valor. nombre=Console.ReadLine(); // Presentamos el valor ingresado. Console.WriteLine("Hola Mundo! "+nombre); // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el primer ingreso de datos por consola en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=tvjQkHSkJe4 Conversiones de Datos Que sucede si queremos sumar dos números, al momento de ingresarlos y asignarles a una variables nos va a arrojar un error, ya que es necesario realizar antes una conversión de tipo numerica, esto se debe de hacer con Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 21 todas las variables, salvo excepción con las variables de tipo String, ya que en C# todas las variables antes de ser procesadas deben de realizar la conversión. // Sumar 2 variables enteras ingresadas en C#. using System; namespace Suma { class Suma { static void Main() { // Declaramos una Variable de tipo String. Int32 suma=0, numero1=0, numero2=0; String n1= “”, n2=””; // Solicitamos por consola el valor de n1. Console.WriteLine("Ingrese el valor de Numero 1"); n1=Console.ReadLine(); // Solicitamos por consola el valor de n2. Console.WriteLine("Ingrese el valor de Numero 2"); n2=Console.ReadLine(); // Procedemos a realizar la suma. suma=n1+n2; // Presentamos el valor ingresado. Console.WriteLine("La suma es: "+suma); // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el primer ingreso de datos por consola en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=sMNRml5OeWo 22 Ing. Héctor Mena Programación Comercial Resolver los siguientes ejercicios a través de la consola de C#: 1.Declarar una variable N de tipo int, una variable A de tipo double y una variable C de tipo char y asigna a cada una un valor. A continuación muestra por pantalla: El valor de cada variable, la suma de N + A, la diferencia de A - N, el valor numérico correspondiente al carácter que contiene la variable C. 2. Declare una variable entera N y asígnale un valor. A continuación escribe las instrucciones que realicen lo siguiente: Incrementar N en 77, Decrementarla en 3, Duplicar su valor. 3. Declare cuatro variables enteras A, B, C y D y asígnale un valor acada una. A continuación realiza las instrucciones necesarias para que: B tome el valor de C, C tome el valor de A, A tome el valor de D, D tome el valor de B. 4. Declare una variable A de tipo entero y asígnale un valor. A continuación muestra un mensaje indicando si A es par o impar. 5. Declare una variable B de tipo entero y asígnale un valor. A continuación muestra un mensaje indicando si el valor de B es positivo o negativo. Consideraremos el 0 como positivo. 6. Escriba un programa que lea dos números enteros por teclado y los muestre por pantalla. 7. Escriba un programa que lea un nombre y muestre por pantalla: “Buenos dias nombre_introducido”. 8. Escriba un programa que lea un número entero por teclado y obtiene y muestra por pantalla el doble y el triple de ese número. 9. Programa que lea una cantidad de grados centígrados y la pase a grados Fahrenheit. La fórmula correspondiente es: F = 32 + ( 9 * C / 5) 10. Programa que lee por teclado el valor del radio de una circunferencia y calcula y muestra por pantalla la longitud y el área de la circunferencia. Longitud de la circunferencia = 2*PI*Radio, Area de la circunferencia = PI*Radio^2 Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 23 Estructuras Selectivas C# por ser un lenguaje fuertemente tipado e influenciado por JAVA la estructura de selección es bastante idéntica a la de JAVA, por lo cual no será un cambio brusco. // Sumar 2 variables enteras ingresadas en C#, si la suma es mayor a 10 presentar el mensaje de “felicidades”, caso contrario “no es el numero”. using System; namespace Suma { class Suma { static void Main() { // Declaramos una Variable de tipo String. Int32 suma=0, numero1=0, numero2=0; String n1= “”, n2=””; // Solicitamos por consola el valor de n1. Console.WriteLine("Ingrese el valor de Numero 1"); n1=Console.ReadLine(); // Solicitamos por consola el valor de n2. Console.WriteLine("Ingrese el valor de Numero 2"); n2=Console.ReadLine(); // Procedemos a realizar la suma. suma=n1+n2; // Preguntamos si la suma es mayor a 10. if(suma>10){ // Presentamos del mensaje. Console.WriteLine("Felicidades, La suma es: "+suma); } else{ // Presentamos del mensaje. Console.WriteLine("No es el numero, suma es: "+suma); } // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el uso de las estructuras selectivas en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=GdNwHsmz9YQ 24 Ing. Héctor Mena Programación Comercial Resolver los siguientes ejercicios a través de la consola de C#: 1. Programa Java que lea un número entero y calcule si es par o impar. 2. Programa que lea un número entero y muestre si el número es múltiplo de 10. 3. Programa que lea dos caracteres por teclado y compruebe si son iguales. 4. Calcular el mayor de tres números enteros en Java. 5. Programa que lea tres números enteros H, M, S que contienen hora, minutos y segundos respectivamente, y comprueba si la hora que indican es una hora válida. ESTRUCTURAS REPETITIVAS Las estructuras repetitivas son aquellas que nos permiten automatizar cierto número de tareas, hasta que cumpla una determinada condición para que pare de repetirse dicha tarea. Entre las estructuras repetitivas tenemos, for, while y do while, estas estructuras son importantes en el desenvolvimiento y son necesaria casi en todo programa de computador. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 25 Ejemplo del uso del bucle for // contar del 1 al 100 con for. using System; namespace cuenta { class Cuenta { static void Main() { // declaración del bucle for. for(Int32 i=1, i<=100, i++) { // Impresión de la variable de control. Console.WriteLine(" "+i); } // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el uso de las estructura for en C# puedes ver el siguiente link: http://www.youtube.com/watch?v=_q7ooY_uExg 26 Ing. Héctor Mena Programación Comercial Ejemplo del uso del bucle while // contar del 1 al 100 con while. using System; namespace cuenta { class Cuenta { static void Main() { // declaración del while. Int32 i=1; while( i<=100) { Console.WriteLine(" "+i); i++; } // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el uso de las estructura while en C# puedes ver el siguiente link: http://www.youtube.com/watch?v=6LQx774cSB8 Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 27 Ejemplo del uso del bucle do while // contar del 1 al 100 con do while. using System; namespace cuenta { class Cuenta { static void Main() { // declaración del bucle do while. Int32 i=1; do { Console.WriteLine(" "+i); i++; }while(i<=100); // Pause para leer el mensaje. Console.WriteLine("Presione una tecla para salir."); Console.ReadKey(); } } } Para visualizar el uso de las estructura for en C# puedes ver el siguiente link: http://www.youtube.com/watch?v=9t_TTaf6wi4 28 Ing. Héctor Mena Programación Comercial Resolver los siguientes ejercicios a través de la consola de C#: 1. 2. 3. 4. 5. 6. 7. 8. Pedir el radio de un círculo y calcular su área. A=PI*(r*r). Pedir el radio de una circunferencia y calcular su longitud. Pedir dos números y decir si son iguales o no. Pedir un número e indicar si es positivo o negativo. Pedir dos números y decir cuál es el mayor. Pedir dos números y decir cuál es el mayor y si son iguales. Pedir tres números y mostrarlos ordenados de mayor a menor. Pedir una nota de 0 a 10 y mostrarla de la forma: Insuficiente, suficiente, bien. 9. Pedir una nota numérica entera entre 0 y 10, y mostrar dicha nota de la forma: cero, uno, dos, etc. 10. Leer un número e indicar si es positivo o negativo. El proceso se repetirá, hasta que se introduzca un 0. 11. Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar. 12. Pedir números hasta que se teclee uno negativo, y mostrar cuantos números se han introducido. 13. Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos. 14. Pedir números hasta que se introduzca uno negativo, y calcular el promedio. 15. Pedir un numero N, y mostrar todos los números del 1 al N. 16. Escribir todos los números de 100 al 0 de 7 en 7. 17. Pedir 15 números y escribir la suma total. 18. Pedir 10 números. Mostrar la media de los números positivos, la media de los números negativos y la cantidad de ceros. 19. Pedir 10 sueldos. Mostrar su suma y cuantos hay mayores de $1000. 20. Dadas las edades y alturas de 5 alumnos, mostrar la edad y la estatura media, la cantidad de alumnos mayores de 18 años, y la cantidad de alumnos que miden más de 1.75. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 29 Funciones Una función es un bloque de código que realiza x operaciones y puede devolver o no algún valor. La principal usabilidad de las funciones y los métodos es aclarar y reusar la programación. Si tuviéramos todo el código de una aplicación del tirón sería muy difícil de leer y de mantener. Por ejemplo si tenemos un programa en el que hacemos una operación de sumar dos números y luego mostrarla por pantalla, podríamos hacer una función a la que le diéramos los 2 números y ya nos hiciera ella el resto. En C# hay que especificar un valor de retorno, aunque si el método no devuelve nada se especifica con el valor void. Si el valor especificado es distinto de void es obligatorio devolver algo en la función (usando return). Declaración: //Funcion que devuelve la suma de los parámetros que le pasamos public int suma (int operando1, int operando2) { int resultado = operando1 + operando2; return resultado; } Utilización: //Mostramos por pantalla el resultado de la suma de dos números Console.WriteLine("El resultado de la suma es: " + suma(2,4).ToString()); //Esto tendría como resultado en la consola //El resultado de la suma es: 6 30 Ing. Héctor Mena Programación Comercial Para visualizar el uso de las funciones en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=Ge9drjAYB_4 Desarrollo de Aplicaciones Windows Una parte muy importante de esta asignatura es sin lugar a duda el desarrollo de aplicaciones en un entorno de Windows (ventanas), donde se lo puede realizar mediante una interfaz gráficas, donde los componentes de esta interfaz ya se encuentran cargados en el framework de .NET. .NET nos ofrece la comodidad de elementos ya elaborados, por ello podemos generar aplicaciones en VB.NET o en C# manteniendo la misma interfaz gráfica, sin embargo los mismos componentes tienen las mismas propiedades y funciones. Los componentes que podemos encontrar son muchos, dentro de los cuales estudiaremos los más importantes. Label en formulario Windows Los label, son etiqueta de las cuales hacemos uso cuando deseamos marcar un resultado o simplemente un texto en el universo inmenso de las aplicaciones Windows. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el label y poderlo arrastrar al formulario Windows. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 31 TextBox en formulario Windows Los TextBox, son cajas de texto literalmente como lo dice la traducción, estas cajas de texto nos permiten poder ingresar o visualizar cualquier tipo de dato, siempre y cuando sea este número o texto. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el TextBox y poderlo arrastrar al formulario Windows. Button en formulario Windows Los Button, son botones los cuales podemos programar un sin número de acciones, dentro de estos botones nosotros podemos programar las acciones que van a ser disparadas o activadas al momento que se da una acción o click sobre dicho botón. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el Button y poderlo arrastrar al formulario Windows. Ahora si podemos construir algo así en C#, donde está conformado por 3 Label, 3 TextBox y 1 Button para disparar los eventos: 32 Ing. Héctor Mena Programación Comercial Para poder cambiar el nombre a visualizarse o el nombre al componente damos click derecho propiedades sobre el componente. Al costado derecho aparecera las propiedades del componente seleccionado Es en las propiedades donde puedo cambiar todas las propiedades del componente como color de fondo, tipo de letra entre muchas otras más, cabe mencionar que lo mismo se aplica para el formulario principal Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 33 Para visualizar el uso de los formularios en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=ndXi3rgWLH8 Resolver los siguientes ejercicios a través del diseño de Windows Form C#: 1. 2. 3. 4. 5. 6. 7. 8. Pedir el radio de un círculo y calcular su área. A=PI*(r*r). Pedir el radio de una circunferencia y calcular su longitud. Pedir dos números y decir si son iguales o no. Pedir un número e indicar si es positivo o negativo. Pedir dos números y decir cuál es el mayor. Pedir dos números y decir cuál es el mayor y si son iguales. Pedir tres números y mostrarlos ordenados de mayor a menor. Pedir una nota de 0 a 10 y mostrarla de la forma: Insuficiente, suficiente, bien. 9. Pedir una nota numérica entera entre 0 y 10, y mostrar dicha nota de la forma: cero, uno, dos, etc. 10. Leer un número e indicar si es positivo o negativo. El proceso se repetirá, hasta que se introduzca un 0. 11. Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar. 12. Pedir números hasta que se teclee uno negativo, y mostrar cuantos números se han introducido. 13. Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos. 14. Pedir números hasta que se introduzca uno negativo, y calcular el promedio. 15. Pedir un numero N, y mostrar todos los números del 1 al N. 16. Escribir todos los números de 100 al 0 de 7 en 7. 17. Pedir 15 números y escribir la suma total. 18. Pedir 10 números. Mostrar la media de los números positivos, la media de los números negativos y la cantidad de ceros. 19. Pedir 10 sueldos. Mostrar su suma y cuantos hay mayores de $1000. 20. Dadas las edades y alturas de 5 alumnos, mostrar la edad y la estatura media, la cantidad de alumnos mayores de 18 años, y la cantidad de alumnos que miden más de 1.75. 34 Ing. Héctor Mena Programación Comercial ListBox en formulario Windows Los ListBox, son aquellas listas de las cuales podemos seleccionas al menos una solo opción asi como múltiples acciones, sin embargo el ListBox es de suma importancia, al menos cuando debemos de asignar permisos a los usuarios a través de los roles de usuarios. dicho botón. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el ListBox y poderlo arrastrar al formulario Windows. Para visualizar el uso de los ListBox en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=wFgb7V4P6z8 ComboBox en formulario Windows Los ComboBox, es el componente donde nos permite seleccionar una sola opción dentro de las listas o opciones que tenemos, se presenta la información en un lista de opciones dentro de las cuales podemos agregar o seleccionar una sola opción.. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el ComboBox y poderlo arrastrar al formulario Windows. Para visualizar el uso de los ComboBox en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=exieGLT7zQM Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 35 DataGridView en formulario Windows Los DataGridView, es el componente donde nos permite visualizar los datos en una grilla, se presenta la información en un rectángulo lleno de cuadriculas como si fuera Excel, la diferencia frente a Excel es que podemos seleccionar las columnas y el número de campos que deseamos visualizar. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el DataGridView y poderlo arrastrar al formulario Windows. Timmer en formulario Windows Los Timmer, es el componente donde nos permite tener un hilo de procesos totalmente aparte, pero con la diferencia de que nosotros podemos seleccionar el periodo del tiempo en que este se va a ejecutar la tarea, viéndolo desde otro punto de vista es como si fuera un reloj. Lo encontramos en el Toolbox, donde debemos de buscar la opción que nos permita escoger el Timmer y poderlo arrastrar al formulario Windows. Para visualizar el uso de los Timmer en C# puedes ver el siguiente link: https://www.youtube.com/watch?v=exieGLT7zQM 36 Ing. Héctor Mena Programación Comercial Unidad didáctica II: Clases y objetos Introducción: En el segundo capítulo te invitamos a conceptualizar las definiciones de clases, atributos y objetos, las mismas definiciones son importantes en el modelo de programación que veremos más adelante, la misma forma es mucho más ordena que la que hemos aprendido hasta la actualidad. Es muy importante realizar todas las preguntas y sobre todo prestar demasiada atención, ya que los procesos a continuación van a ser algo complicados ya que es un cambio de paradigma de programación distinto a la que estamos acostumbrados. Nos ayudara a llevar una programación mucho más ordenada frente a la programación lineal e incluso a reutilizar el código el mismo código que alguna vez ya fue escrito. Objetivo de la unidad didáctica II: Aplicar los fundamentos principales de la programación orientada a objetos como una alternativa a la programación estructurada. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 37 Sistema de contenidos de la unidad didáctica II: Sistema de conocimientos Sistema de habilidades Definición de clase. Atributos métodos y propiedades. Creación de objetos. Encapsulamiento. Herencia polimorfismo. y Introducción a LINQ Conceptualizar la terminología y las ventajas de la programación orientada a objetos. Sistema de valores Fomentar e impulsar la investigación, responsabilidad y emprendimiento para la creación de programas orientados a objetos. Utilizar las características de la programación orientada a objetos en el desarrollo de aplicaciones visuales Clases: Las clases son uno de los principales componentes de un lenguaje de programación, pues en ellas ocurren todos los procesos lógicos requeridos para un sistema, en si podemos definirlas como estructuras que representan objetos del mundo real, tomando como objetos a personas, lugares o cosas, en general las clases poseen propiedades, comportamientos y relaciones con otras clases del sistema. Para obtener un concepto más claro puedes ver el siguiente link: https://msdn.microsoft.com/es-ec/library/x9afc042.aspx 38 Ing. Héctor Mena Programación Comercial Atributos: Representación de las propiedades que caracterizan la clase. Métodos: Representan el comportamiento y operaciones, la forma como interactúa la clase de su entorno. Objeto: Los objetos representan una entidad concreta o abstracta del mundo real, en programación básicamente se le conoce como la instancia de una clase en si es lo que da el sentido a estas. Encapsulamiento: Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 39 Se representa por 3 niveles: Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se puede acceder a los atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la que se encuentran. Herencia: La herencia en C# representa lo que conocemos de herencia en el mundo real, básicamente mediante esta obtenemos las características o rasgos comunes de nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases basadas en clases ya existentes, con las cuales podemos obtener las características de las clases padres, heredando campos, atributos, métodos o funcionalidades. Polimorfismo: Este tal vez sea uno de los conceptos de la programación orientada a objetos mas usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante 40 Ing. Héctor Mena Programación Comercial el polimorfismo programamos de forma general en lugar de hacerlo de forma especifica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo. Básicamente podemos definirlo como la capacidad que tienen los objetos de comportarse de múltiples formas sin olvidar que para esto se requiere de la herencia, en si consiste en hacer referencia a objetos de una clase que puedan tomar comportamientos de objetos descendientes de esta. Con el polimorfismo usamos la generalización olvidando los detalles concretos de los objetos para centrarnos en un punto en común mediante una clase padre. Para obtener un ejemplo mas preciso el siguiente link: https://www.youtube.com/watch?v=3tkHHM77r8U https://www.youtube.com/watch?v=200cwwmiHeg Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 41 LINQ: Lenguaje integrado de Consulta, es un ORM( Mapeo de Objeto Relacional ), el cual se encarga de generar objetos ya sea desde una base de datos o desde un objeto generado por este en un principio. LINQ es una respuesta a los ORM que lanzo en un inicio lenguajes de programación como JAVA y PHP los cuales por su fuerte éxito fueron ganando más terreno frente a los otros terrenos de los lenguajes de programación. LINQ nos permite arrastrar las clases y poder generar los atributos de cada una de estas clases, inclusive desde una conexión a una base de datos, sin embargo solo podemos mapear las entidades de una base de datos en SQL SERVER ya que es un lenguaje privativo de Microsoft. Para obtener un ejemplo mas preciso el siguiente link: https://msdn.microsoft.com/es-es/library/bb383799(v=vs.90).aspx https://www.youtube.com/watch?v=k72v5MWAQu4 42 Ing. Héctor Mena Programación Comercial Unidad didáctica III: Programación con acceso a base de datos Introducción: En el tercer capítulo vamos a ver todo lo referente a la conexión de C# con una base de datos, ya sea esta SQLSERVER como MySql, sin dejar de lado lo aprendido sobre los componentes para el manejo y el diseño de la interfaz grafica de usuario. Es muy importante realizar todas las preguntas y sobre todo prestar demasiada atención, ya que los procesos a continuación van a ser algo complicados ya que es el capitulo final de esta guía y el mas principal al integrarse todos los conocimientos en un solo capitulo. Objetivo de la unidad didáctica II: Implementar aplicaciones visuales que accedan a la base de datos. Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 43 Sistema de contenidos de la unidad didáctica III: Sistema de conocimientos Sistema de habilidades Sistema de valores Características y componentes de ADO .NET. Diseñar aplicaciones 3 capas. Clases de ADO: conection, command, DataAdapter, DataSet, DataReader. Diseñar aplicaciones con conexión a una base de datos en Fomentar la importancia de la conexión de aplicaciones Windows con un motor de base de datos. Componentes de un DataSet: DataTable, DataColum, DataRow. Conexión a una base de datos SQLServer. Operaciones con base de datos, select, insert, delete, update. Utilización LINQ SQLServer. 44 de con Ing. Héctor Mena Programación Comercial Características y componentes de ADO .NET. Es un conjunto de librerías de software, que pueden ser usados por programadores para acceder a bases de datos, esta librería esta incluida dentro del Framework .NET. Data provider: Esta es una clase que proporciona una fuente de datos como Mysql, Oracle o SqlServer, cada fuente de datos tiene sus propios objetos de proveedores. Connection: Ofrece un manera segura para conectarse a una base de datos. Command: Es usado para poder realizar consultas en cualquier base de datos, ya sea esta de lectura, modificación y eliminación de datos. Parameter: Permite enviar los parámetros que van a ser parte de las SQL que van dentro del command, Un ejemplo común es un parámetro para ser usado en un procedimiento almacenado. DataAdapter: Es un puente usado para transferir los datos entre la APP y la base de datos. DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez. DataSet: Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una). Puede contener las tablas y las relaciones entre esas tablas. DataTable: Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas. DataView Un objeto DataView "se sienta sobre" un DataTable y ordena los datos (como una cláusula "order by" de SQL) y, si se activa un filtro, filtra los registros (como una cláusula "where" del SQL). Para facilitar estas operaciones se usa un índice en memoria. Todas las DataTables tienen un filtro por defecto, mientras que pueden ser Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 45 definidos cualquier número de DataViews adicionales, reduciendo la interacción con la base de datos subyacente y mejorando así el desempeño. DataColumn Un DataColumn representa una columna de la tabla, incluyendo su nombre y tipo. DataRow Un objeto DataRow representa una sola fila en la tabla, y permite leer y actualizar los valores en esa fila, así como la recuperación de cualquier fila que esté relacionada con ella a través de una relación de clave primaria - clave extranjera. DataRowView Un DataRowView representa una sola fila de un DataView, la diferencia entre un DataRow y el DataRowView es importante cuando se está interactuando sobre un resultset. Para obtener un ejemplo mas preciso el siguiente link: https://msdn.microsoft.com/es-es/library/27y4ybxw(v=vs.110).aspx https://www.youtube.com/watch?v=3LXHZZo9j1w https://www.youtube.com/watch?v=--XR2Im6Aso 46 Ing. Héctor Mena Programación Comercial Operaciones con base de datos, select, insert, delete, update. En primer lugar necesitamos crear el objeto de persona. public class Cliente { public int Id { get; set; } public string Nombre { get; set; } public string Apellido { get; set; } public string Fecha_Nac { get; set; } public string Direccion { get; set; } public Cliente() { } public Cliente(int pId, string pNombre, string pApellido, string pFecha_Nac, string pDireccion) { this.Id = pId; this.Nombre = pNombre; this.Apellido = pApellido; this.Fecha_Nac = pFecha_Nac; this.Direccion = pDireccion; } } Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 47 Segundo, necesitamos crear una función para insertar los valores de MySql. public class ClientesDAL { public static int Agregar(Cliente pCliente) { int retorno = 0; MySqlCommand comando=new MySqlCommand(string.Format("Insert into clientes (Nombre, Apellido, Fecha_Nacimiento, Direccion) values ('{0}','{1}','{2}', '{3}')", pCliente.Nombre, pCliente.Apellido, pCliente.Direccion), BdComun.ObtnerCOnexion()); pCliente.Fecha_Nac, retorno = comando.ExecuteNonQuery(); return retorno; } public static List<Cliente> Buscar(string pNombre, string pApellido) { List<Cliente> _lista = new List<Cliente>(); MySqlCommand _comando = new MySqlCommand(String.Format( "SELECT IdCliente, Nombre, Apellido, Fecha_Nacimiento, Direccion FROM clientes where Nombre ='{0}' or Apellido='{1}'", pNombre,pApellido), BdComun.ObtnerCOnexion()); MySqlDataReader _reader = _comando.ExecuteReader(); while (_reader.Read()) { Cliente pCliente = new Cliente(); pCliente.Id = _reader.GetInt32(0); 48 Ing. Héctor Mena Programación Comercial pCliente.Nombre = _reader.GetString(1); pCliente.Apellido = _reader.GetString(2); pCliente.Fecha_Nac = _reader.GetString(3); pCliente.Direccion = _reader.GetString(4); _lista.Add(pCliente); } return _lista; } public static Cliente ObtenerCliente(int pId) { Cliente pCliente = new Cliente(); MySqlConnection conexion = BdComun.ObtnerCOnexion(); MySqlCommand _comando = new MySqlCommand(String.Format("SELECT IdCliente, Nombre, Apellido, Fecha_Nacimiento, Direccion FROM clientes where IdCliente={0}", pId), conexion); MySqlDataReader _reader = _comando.ExecuteReader(); while (_reader.Read()) { pCliente.Id = _reader.GetInt32(0); pCliente.Nombre = _reader.GetString(1); pCliente.Apellido = _reader.GetString(2); pCliente.Fecha_Nac = _reader.GetString(3); pCliente.Direccion = _reader.GetString(4); Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 49 } conexion.Close(); return pCliente; } public static int Actualizar(Cliente pCliente) { int retorno = 0; MySqlConnection conexion = BdComun.ObtenerConexion(); MySqlCommand comando = new MySqlCommand(string.Format("Update clientes set Nombre='{0}', Apellido='{1}', Fecha_Nacimiento='{2}', Direccion='{3}' where IdCliente={4}", pCliente.Nombre, pCliente.Apellido, pCliente.Direccion, pCliente.Id), conexion); pCliente.Fecha_Nac, retorno = comando.ExecuteNonQuery(); conexion.Close(); return retorno; } } Tercero, se crea el Boton de Guardar para poder guardar el contenido de los TextBox. private void btnGuardar_Click(object sender, EventArgs e) { Cliente pCliente = new Cliente(); pCliente.Nombre = txtNombre.Text.Trim(); pCliente.Apellido = txtApellido.Text.Trim(); 50 Ing. Héctor Mena Programación Comercial pCliente.Fecha_Nac = dtpFechaNacimiento.Value.Year + dtpFechaNacimiento.Value.Month + "/" + dtpFechaNacimiento.Value.Day; "/" + pCliente.Direccion = txtDireccion.Text.Trim(); int resultado = ClientesDAL.Agregar(pCliente); if (resultado > 0) { MessageBox.Show("Cliente Guardado Con MessageBoxButtons.OK, MessageBoxIcon.Information); Exito!!", "Guardado", } else { MessageBox.Show("No se pudo guardar MessageBoxButtons.OK, MessageBoxIcon.Exclamation); el cliente", "Fallo!!", } } Para obtener un ejemplo mas preciso el siguiente link: https://www.youtube.com/watch?v=IT_R46g7YTk https://www.youtube.com/watch?v=xXxXse4W77Y https://www.youtube.com/watch?v=vPXZ4dIu9vM Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios 51