Visual Studio .NET - ADO.NET VI

March 24, 2018 | Author: Carlos | Category: Table (Database), Basic, Microsoft Excel, Technology, Computing


Comments



Description

Sistemas UNI.Instructor: V. Carlos, Segura P. LABORATORIO ADO.NET – 6. Derechos Reservados, solo para ser usados dentro de la institución. Derechos de Autor El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no se puede reproducir, transcribir, almacenar a un sistema de recuperación o de alteración, asimismo la traducción a otro idioma de ninguna forma o por ningún medio mecánico, manual, electrónico, magnético, óptico o de otro modo. La persecución de una reproducción no autorizada tiene como consecuencia la cárcel y/o multas. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 1 Sistemas UNI. Instructor: V. Carlos, Segura P. 6 1.1 ADO.NET 1 Restricciones, DataColumn, Columnas Calculadas y Exportación en Excel. DataColumn. Los DataColumn representa el esquema de una columna en un DataTable, el DataColumn es el bloque para crear el esquema de un DataTable. Para construir el esquema de un DataTable, se agregan uno o varios objetos DataColumn al DataColumnCollection. Los DataColumn tiene la propiedad DataType que determina el tipo de datos que va a contener el DataColumn, se puede restringir el tipo de datos a enteros, cadenas o decimales. Puesto que estos 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 obtenidos de la base de datos. Otras propiedades como AllowDBNull, Unique y ReadOnly aplican restricciones al ingresar datos y actualización de datos, lo que contribuye a garantizar la integridad de éstos. Además se pueden utilizar las propiedades AutoIncrement, AutoIncrementSeed y AutoIncrementStep para controlar la generación automática de datos. Propiedades importantes de una Columna: Propiedad AllowDBNull Descripción Obtiene o establece un valor que indica si en esta columna se admiten valores null para las filas que pertenecen a la tabla. Obtiene o establece un valor que indica si la columna incrementa AutoIncrement automáticamente el valor de la columna para las nuevas filas que se agregan a la tabla. DataType DefaultValue Obtiene o establece el tipo de datos almacenados en la columna. Obtiene o establece el valor predeterminado para la columna al crear nuevas filas. Obtiene o establece la expresión utilizada para filtrar filas, calcular los valores de una columna o crear una columna agregada. Obtiene o establece un valor que indica si la columna admite cambios justo después de que se haya agregado una fila a la tabla. Expresión ReadOnly Algo muy importante es que en la expresión no se pueden hacer operaciones matemáticas como multiplicar dos columnas (o sumar, restar, dividir, etc) . Sum (Cantidad * Precio) UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 2 Sistemas UNI. Instructor: V. Carlos, Segura P. Propiedad Expressión: Agregar expresiones de columnas, es una de las nuevas funcionalidades que encontramos en ADO.NET es la posibilidad de crear columnas cuyo contenido sean expresiones, es decir columnas calculadas: DataSet.Tables( Nombre ).Columns.Add( “Nombre Campo”, “Tipo dato”, “Expresión” ) Por ejemplo de la tabla Products seria así: También podría ser de la siguiente manera: Con Condicionales: Expresiones con funciones de agregado Para terminar con las expresiones de columna, se permiten varias funciones de datos agregados como suma, media, máximo, etc..., ejemplo: Propiedad Compute Propiedad de un DataTable que determina una operación basado en los datos de la columna indicada: Cuales son las expresiones válidas cuando utilicemos Compute: Count(Campo), donde Campo sería el nombre de la columna. Sum (Suma) Avg (Promedio) Min (Mínimo) Max (Máximo) Count(Recuento) StDev (Desviación estadística estándar) Var (Varianza estadística) UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 3 Sistemas UNI. Instructor: V. Carlos, Segura P. Agregando Datos calculados en el DataGridView: Definir una clave principal para una tabla. Mayormente una tabla de base de datos tiene una columna o grupo de columnas que identifican de manera exclusiva cada fila de la tabla llamada llaves de la tabla. Esta columna o grupo de columnas de identificación se denomina clave principal. Identificar una única DataColumn como la PrimaryKey para una DataTable, la tabla establece automáticamente la propiedad AllowDBNull de la columna como false y la propiedad Unique como true. Para las claves principales de varias columnas sólo se establece de forma automática la propiedad AllowDBNull en false. El PrimaryKey de una DataTable es una propiedad que recibe como valor una matriz de uno o varios objetos DataColumn, como se muestra en los ejemplos siguientes. En este ejemplo se establece un llave primaria: Agregar restricciones a una tabla. Para agregar restricciones a una tabla se pueden utilizar para imponer restricciones sobre los datos de un objeto DataTable con el fin de mantener la integridad de los datos. La restricción es una regla automática que se aplica a una columna o a varias columnas relacionadas mediante un DataRelation, que determina cómo proceder cuando se modifica de alguna manera el valor de una fila.. Existen dos tipos de restricciones en ADO.NET al crear un DataRelation: ForeignKeyConstraint y UniqueConstraint. Que de forma predeterminada, las dos restricciones se crean automáticamente al crear una relación entre dos o más tablas agregando, sin embargo, se puede deshabilitar este comportamiento especificando CreateConstraints = false al crear la relación. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 4 Sistemas UNI. Instructor: V. Carlos, Segura P. ForeignKeyConstraint ForeignKeyConstraint impone reglas sobre cómo se propagan las actualizaciones y eliminaciones a las tablas relacionadas. Por ejemplo, si se actualiza o elimina el valor de una fila de una tabla y el mismo valor también se utiliza en una o varias tablas relacionadas, ForeignKeyConstraint determinará qué sucede en las tablas relacionadas. Las propiedades DeleteRule y UpdateRule de ForeignKeyConstraint definen la acción que se ha de realizar cuando el usuario intente eliminar o actualizar una fila en una tabla relacionada. En la tabla siguiente se describen las distintas configuraciones disponibles para las propiedades DeleteRule y UpdateRule de ForeignKeyConstraint Cascade: Elimina o actualiza las filas relacionadas. SetNull: Establece los valores de las filas relacionadas en DBNull. SetDefault: Establece los valores de las filas relacionadas en el valor predeterminado. None: No realiza ninguna acción en las filas relacionadas. Éste es el valor predeterminado. ForeignKeyConstraint puede restringir, además de propagar, los cambios en las columnas relacionadas. Dependiendo de las propiedades establecidas para la ForeignKeyConstraint de una columna, realizar ciertas operaciones en la fila primaria generará una excepción. Por ejemplo, si la propiedad DeleteRule de ForeignKeyConstraint es None, una fila primaria no se puede eliminar si tiene filas secundarias. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 5 Sistemas UNI. Instructor: V. Carlos, Segura P. 1.2 CreateDataReader y DataTableReader El Método CreateDataReader que devuelve un DataSet o DataTable entrega un objeto DataTableReader que corresponde a los datos incluidos en este objeto DataTable o DataTables dentro de un DataSet. El DataTableReader presenta el contenido de una DataTable o un DataSet con formato de uno o más conjuntos de resultados de sólo lectura y de sólo avance. Al crear un DataTableReader desde una DataTable, el objeto DataTableReader resultante contiene un conjunto de resultados con los mismos datos que la DataTable desde la que se creó, con excepción de las filas que se hayan marcado como eliminadas. Las columnas aparecen en el mismo orden que en la DataTable original. Un DataTableReader puede contener varios conjuntos de resultados si se ha creado llamando a CreateDataReader. Los resultados se encuentran en el mismo orden que las DataTables de la colección Tables del objeto DataSet. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 6 Sistemas UNI. Instructor: V. Carlos, Segura P. 1.3 Trabajando con ADO.NET y Excel. Microsoft Excel posee la funcionalidad de crear tablas para poder ser usado en ADO.NET como si estuviéramos trabajando con una tabla de una base de datos, para esto seguiremos los siguientes pasos: Utilizar objetos de acceso a datos con hojas de cálculo de Excel Mediante los controladores ISAM (Método de acceso secuencial indexado) instalables, podemos abrir y manipular la información contenida en una hoja de cálculo Excel lo mismo que si se tratara de una tabla de una base de datos cualquiera. Para instalar el ISAM se realiza al instalar Visual Basic, ejecute el programa de instalación de Visual Basic y seleccione los controladores apropiados para proceder a su instalación. Durante el proceso de instalación, el controlador IISAM escribe la información de configuración en el Registro de Windows, estableciendo unos valores predeterminados que posteriormente podemos modificar su comportamiento utilizando para ello cualquiera de los métodos siguientes: Utilizando el editor del Registro (no recomendado). Utilizando las funciones API de acceso al Registro, antes de establecer la conexión con el origen de datos (requiere el conocimiento de dichas funciones API). Mediante la cadena de conexión, en el momento de acceder a los datos. Es el método recomendado debido a que no modificará ningún valor del registro, porque los valores establecidos en la cadena, sólo serán válidos para un archivo de datos en particular. Este es el método que se utilizará a lo largo del presente artículo. Primera Forma de Realizar consultas I.- Primero crear una tabla en Excel y crear una hoja de Excel, con el nombre Vendedores.xsl II.- Crear en la hoja la siguiente tabla, como se muestra la figura: III.- Definiremos esta tabla en el Excel, de la siguiente manera, primero seleccionar toda la tabla, luego Ir al menú: Insertar -> Nombre -> Definir UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 7 Sistemas UNI. Instructor: V. Carlos, Segura P. IV.- Dentro de ella colocaremos el nombre de la tabla “VENTAS” V.- Hasta aquí hemos creado una tabla en Excel agregarlo al proyecto, ahora la llamaremos desde ADO.NET para tratarlo como una tabla. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 8 Sistemas UNI. Instructor: V. Carlos, Segura P. VI.-Creando la Interfaz para mostrar la tabla Clientes. VII.- Realizar los siguiente imports dentro del formulario. VIII.- Debemos declarar las siguientes variables: IX.- Dentro del botón para llenar el Excel codificaríamos lo siguiente: X.- Completar para la muestra de la información en el DataGridView XI.- Probar y ejecutar el ejemplo. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 9 Sistemas UNI. Instructor: V. Carlos, Segura P. Segunda Forma de Realizar consultas I.- Crear el Excel con el nombre autores y la hoja del Excel con el siguiente nombre “LISTA” II.- Realizar los siguiente imports dentro del formulario para mostrar la hoja de Excel. III.- Debemos declarar las siguientes variables: IV.- En el load del formulario podríamos crear lo siguiente: V.- Incluso podríamos agregar comandos para la modificación de esta forma: UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 10 Sistemas UNI. Instructor: V. Carlos, Segura P. VI.- Terminar de completar, con la ayuda del instructor: Laboratorio: I.- Se debe crear un Excel con el nombre Personal, el cual debe contener 3 hojas con los siguiente nombres: EMPLEADOS: PLANILLA: UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 11 Sistemas UNI. Instructor: V. Carlos, Segura P. DESCUENTOS: II.- Crear el siguiente formulario que implemente las siguientes funcionalidades: UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS 12
Copyright © 2024 DOKUMEN.SITE Inc.