Tema 4:Acceso Datos Objetivos: ● ● Brindar los conocimientos para poder enlazar aplicaciones Windows a bases de datos, independientemente del proveedor. Diseñar aplicaciones que permitan la manipulación de datos por medio de aplicaciones Windows. Introducción ADO.Net ➢ Espacios de Nombre de ADO.Net ➢La Clase DataSet ➢La Clase Connection ➢ La Clase Command ➢La Clase DataAdapter ➢Controles para la manipulación de datos ➢El Objeto BindingSource ➢ ➢ 1 Ing Eddy Ruiz Largaespada INTRODUCCION ● Una base de datos es una colección organizada de datos. Existen muchas estrategias para organizar datos, de manera que se facilite el acceso y la manipulación de los mismos. Un sistema de administración de bases de datos (DBMS) proporciona mecanismos para almacenar, organizar, recuperar y modificar datos para muchos usuarios. Los sistemas de administración de bases de datos permiten el acceso a los datos y su almacenamiento, de manera independiente a la representación interna de los datos. 2 Ing Eddy Ruiz Largaespada INTRODUCCION Los sistemas de bases de datos más populares en la actualidad son las bases de datos relacionales. SQL es el lenguaje estándar internacional que se utiliza casi de manera universal con las bases de datos relacionales, para realizar consultas (es decir, para solicitar información que cumpla con ciertos criterios dados) y para manipular datos. 3 Ing Eddy Ruiz Largaespada INTRODUCCION ● Puesto que muchas aplicaciones trabajan sobre bases de datos, Microsoft decidió crear una tecnología de acceso a datos potente y fácil de utilizar: ADO.NET. 4 Ing Eddy Ruiz Largaespada INTRODUCCION Modelo de objetos ADO.NET ● El modelo de objetos ADO.NET proporciona una API para acceder a los sistemas de bases de datos mediante la programación. ADO.NET fue creado para que .NET Framework sustituyera a la tecnología ActiveX Data Objects. 5 Ing Eddy Ruiz Largaespada Espacios de Nombre de ADO.Net System.Data.->Contiene la raiz de la API de ADO.NET. System.Data.OleDb.-> System.Data.SqlClient.-> ● Los 2 ultimos son->Contiene las clases que permiten a los programas conectarse con origenes de datos y manipularlos 6 Ing Eddy Ruiz Largaespada LA CLASE DataSet DataSet y el proveedor de datos de .NET Framework, que es un conjunto de componentes entre los que se incluyen los objetos conexión (Connection), de órdenes (Command), lector de datos (DataReader) y adaptador de datos (DataAdapter). La siguiente figura se muestra cómo trabajan conjuntamente los objetos mencionados para que una aplicación pueda interactuar con un origen de datos. 7 Ing Eddy Ruiz Largaespada DataSet La clase DataSet incluye una colección DataTableCollectio de objetos de tipo DataTable y la colección DataRelationCollection de objetosde tipo DataRelation. La clase DataTable incluye las colecciones DataRowCollection,DataColumnCollection y ConstraintCollection las cuales poseen los objetos DataRow (filas), DataColumn (columnas) y Constraint (restricciones) respectivamente. La clase DataRow incluye la propiedad RowState que permite saber cuándo cambio una fila y de que modo, alguno de los valores que puede tomar son: ➔ Added 8 ➔ Deleted ➔ Modified ➔ Unchanged Ing Eddy Ruiz Largaespada LA CLASE Connection Un objeto de la clase Connection(Conexion),establece la conexión al origen de datos.El registro de la ubicación del origen de datos y de cualquier configuración que especifique cómo se va a acceder a ese origen de datos. Una conexión puede estar activa (es decir, abierta y que permita presentar los datos a, y recuperarlos del origen de datos) o cerrada Ejemplo: OleDbConnection conexion = OleDbConnection( strConecction ); 9 Ing Eddy Ruiz Largaespada LA CLASE Command ● ● Un objeto de la clase Command representa un comando de SQL que un DBMS puede ejecutar en una base de datos. Un programa puede utilizar objetos Command con el origen de datos a traves de un objeto Connection. El programa debe Abrir La conexión que ya no se requiere el acceso al origen de datos.Una conexión que permanece activa durante cierto tiempo para permitir múltiples operaciones de datos se conoce como conexión persistente. OleDbCommand orden=OleDbCommand(“SELECT * FROM Estudiantes”, conexion); 10 Ing Eddy Ruiz Largaespada Objeto DataReader ● Cuando no sea necesario almacenar datos en un conjunto de datos, basta con utilizar un lector de datos, un objeto lector de datos obtiene los datos del origen y los pasa directamente a la aplicación. Los adaptadores de datos utilizan un objeto lector de datos para llenar su conjunto de datos. Origenes de datos Aplicacion DataReader Command Connection 11 Ing Eddy Ruiz Largaespada DataReader conexion.Open(); OleDbDataReader lector = orden.ExecuteReader( conexion ); while( lector.Read() ) Console:WriteLine( lector.GetString(0) ); lector.Close(); conexion.Close(); 12 Ing Eddy Ruiz Largaespada LA CLASE DataAdapter ● Un objeto de la clase DataAdapter se conecta a un origen de datos de SQL Server y ejecuta instrucciones de SQL, tanto para probar un objeto DataSet como para actualizar el origen de datos con base en el contenido actual de un objeto DataSet. Connetion Conjuntos de Datos DataAdapter SelectCommand InsertCommand DeleteCommand Aplicacion UpdateCommand Origenes De Datos 13 Ing Eddy Ruiz Largaespada Aplicación Interactuando con Datos Esta figuramuestra como estan trabajando conjuntamente los objetos Connection,Command 14 DataReader,DataAdapter Para que una aplicación pueda interactuar con los datos Ing Eddy Ruiz Largaespada Proveedores de datos ● Resumen de los proveedores de datos Proveedor de datos Objeto Conexion Objeto Orden Objeto Lector Adaptador de datos ODBC.NET OdbcConnection OdbCommand OdbcDataReader OdbcDataAdapter OLE DB .NET OleDbConnection OleDbCommand OleDbDataReader OleDbDataAdapter Oracle Client .NET OracleConnection OracleCommand OracleDataReader OracleDataAdapter SQL Server .NET SqlConnection SqlCommand SqlDataReader SqlDataAdapter 15 Ing Eddy Ruiz Largaespada Controles para la manipulación de datos ● DataGridView:Este control se encuentra bajo el item Data del Toolboox 16 Ing Eddy Ruiz Largaespada El objeto BindingSource ● BindingSource:Hace de puente entre el control y el conjunto de datos y de esta manera se simplifica la conexión entre el control y el origen de datos, es decir que toda la interacción con los datos puede ser llevada a cabo utilizando la funcionalidad del BindingSource. Control El tipo de origen de datos se fija a través de uno de los siguientes mecanismos: Utilizando el método Add para añadir un elemento al componente Asignando a la propiedad DataSource una lista, un objeto o un tipo BindingSource Origenes de datos 17 Ing Eddy Ruiz Largaespada BIBLIOGRAFIA ● Enciclopedia de visual c# Francisco Ceballos. ● C# Como programar Deitel y Deitel 18 Ing Eddy Ruiz Largaespada