Download introduccion a bases de datos ado.net
Document related concepts
Transcript
TALLER DE PROGRAMACIÓN III UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC FACULTAD DE INGENIERIAS ESCUELA ACADEMICO PROFESIONAL DE INGENIERÍA INFORMÁTICA Y SISTEMAS UNAMBA 4 INTRODUCCION A BASES DE DATOS ADO.NET OBJETIVOS ESPECIFICOS Comprender la filosofía de ADO.NET Implementar ADO.NET en ASP.NET CONTENIDO Componentes de ADO.NET Uso de controles enlazados para mostrar datos Manipulación de datos con ADO.NET ACTIVIDADES Desarrolla el ejemplo propuesto. IIS-INGº RAFAEL R. QUISPE MERMA Página 1 TALLER DE PROGRAMACIÓN III 1. Bases de Datos Una base de datos permite almacenar datos, los cuales deben ser recuperados, procesados y mostrados. Debido a la cantidad de datos que se desea almacenar las soluciones informáticas facilitan esta tarea. Existen diversos productos que permiten administrar nuestros datos, darles seguridad y facilidades de acceso, por ejemplo: SQL SERVER, ORACLE, DB2, etc. Los lenguajes de programación permiten acceder a los datos que residen en las bases de datos, para esto, hacen uso de diversas técnicas. Este capítulo, aborda la forma en la cual este trabajo será tratado por ASP.NET. Esto permitirá mostrar e ingresar datos a una base de datos(Sql Server 2008) desde nuestras páginas Web. 2. ADO .NET ADO.NET es la nueva propuesta tecnológica de Microsoft, para el acceso a datos. Empezaremos mencionando las tecnologías anteriores a ADO.NET. DAO(Data Access Objects) Aparecio con las versiones de Visual Basic 3.0 Preferentemente accesos a Bases de datos locales Permite Data binding con controles. Tiene un modelo de objetos muy sencillo Acceso a bases de datos no relacionales Falencias en entornos multiusuario, concurrencia de usuarios y bloques de datos. ODBC(Open Database Conectivy) Tecnologia que permite el acceso a bases de datos. Traduce las sentencias de acceso a datos a la sintaxis nativa de la base de datos. RDO Modelo de acceo a datos en Visual Basic 4.0 Especialmentye para entornos multiusuarios. Acceso remotol a fuentes ODBC Menos capas de acceso a base de datos. OBDCDirect Introducción con Visual Basic 5.0 No accesa a fuentes NO ODBC Emplea el motor de RDO Mas eficiente que DAO Hace uso del modelo de objetos de DAO. IIS-INGº RAFAEL R. QUISPE MERMA Página 2 TALLER DE PROGRAMACIÓN III OLEDB Basado en UDA. Permite el acceso a fuentes relacionales y no relacionales. Incluye acceso a Mainframe. Es necesario un modelo de acceso a datos para emplear OLEDB, para emplear OLEDB, exceptuando a C++. ADO Modelo de acceso a datos. Empleado por Visual Basic, para hacer uso de OleDb. Trabaja de manera desconectada pero principalmente conectada. El modelo de objetos es muy sencillo. ADO.NET, contiene muchas mejoras en comparación a ADO, por lo cual no podemos decir que es una nueva versión de ADO. ADO.NET es un conjunto de clases que entre otras funcionalidades nos permite: Conectividad entre sistemas relacionales y no relacionales. El trabajo se realiza de manera verdaderamente desconectada, mantiene un cache de almacenamiento en el cliente. Puede convivir con ADO Emplea XML para poder trasmitir datos de manera natural. Ideal para entornos Web. Forma parte del entorno del Framework.NET Los datos pueden ser intercambiados entre diferentes tipos de sistemas. Propone la filosofía de conjuntos de datos en lugar de conjuntos de registros. Permite pasar y recibir datos por http. Existe un API especial para bases de datos SQL SERVER que permiten un desarrollo más óptimo. 3. Iniciando ADO.NET Para trabajar con ADO.NET en nuestras páginas ASP.NET, es necesario agregar algunos namespace: using System.Data: pemite trabajar con ADO.NET. usign System.SqlClient: permite trabajar con fuentes de datos SQL Server. usign Sytem.OleDb: permite trabajar con otras fuentes de datos OLEDB. IIS-INGº RAFAEL R. QUISPE MERMA Página 3 TALLER DE PROGRAMACIÓN III 4. Componentes de ADO.NET Existen dos componentes muy importantes en ADO.NET .Net Data Providers.-Permite el enlace entre la fuente de datos y el objeto DataSet. Objeto DataSet.-Es una representación de memoria, donde se almacenan las estructuras de tablas con las cuales se trabajara. DATASET DataTable DataTable .Net Data Provider DataAdapter OleDb Data Provider DataConnection .Net Data Provider 4.1 .Net Data Providers Podemos mencionar a los siguientes objetos. Connection.-Objeto que permite realizar la conectividad a la base de datos.Es factible emplear el OleDbConnection o SqlConnection. Estos objetos requieren una cadena de conexión para poder realizar el enlace en la propiedad ConnectionString. IIS-INGº RAFAEL R. QUISPE MERMA Página 4 TALLER DE PROGRAMACIÓN III Conexión a SQL SERVER, empleando SQLClient “Data Source=MiServer;Inicial Catalog=Northwind;User ID=sa;pwd=sa” Conexion a OLEDB, empleando Oledb “Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\brunoc\Desktop\Projects.accdb;Persist Security Info=False” Command.-Objeto que permite el acceso a los comandos SQL para trabajar con la Base de datos (SqlCommand u OleDbCommand). DataReader.-Objeto que permite ver el resultado mostrado por una sentencia SQL ejecutada por un objeto Command. El DataReader mantiene una conexión física a la base de datos mientras trabaja con ella. DataAdapter.-Objeto que permite realizar el enlace entre el objeto DataSet y el data provider. Propiedades: SelectCommand: Recupera filas de la fuente de datos. InsertCommand: Para inserciones desde el DataSet a la fuente de datos. UpdateCommand: Para modificaciones desde el DataSet a la fuente de datos. DeleteCommand: Elimina registros en la fuente de datos. Métodos: Fill: Carga un DataSet a partir de un SelectCommand, permite agregar un nombre de referencia al objeto DataTable creado en el DataSet. 4.2 DataSet object Permite almacenar información de manera desconectada. Es una representación en memoria de los datos totalmente independiente de la fuente de datos. En este objeto se puede tener la representación de una tabla de SQL Server, otra de Access, etc.(Uso de objeto DataTable). Debido a que nuestro entorno Web es y debe ser desconectado, el DataSet es ideal para este tipo de trabajo. Es factible generar relaciones(DataRelation) entre las tablas. Los datos almacenados en el DataSet pueden ser modificados en dicho objeto y luego actualizados en la base de datos. IIS-INGº RAFAEL R. QUISPE MERMA Página 5 TALLER DE PROGRAMACIÓN III 5. Creando una Base de Datos Para crear una Base de datos, ubíquese sobre el nombre del proyecto y presione el botón derecho del mouse y elija nuevo elemento, luego en la ventana seleccione la categoría Datos y finalmente elija Base de Datos Sql Server y llámelo Academico, tal como se muestra en la figura: 6. Conectandose a una Base de Datos 6.1 Server Explorer.-Permite establecer una conexión a una base de datos desde el entorno Visual Studio .NET. IIS-INGº RAFAEL R. QUISPE MERMA Página 6 TALLER DE PROGRAMACIÓN III 6.2 Creación de tablas Para crear las tablas ubíquese en la carpeta Tablas, botón derecho del mouse y elija Agregar nueva Tabla, y diseñe la siguiente tabla, llamelo alumno: De igual manera, diseñe la siguiente tabla, llamelo carrera. 6.3 Relacionar las Tablas Ubiquese en Diagramas de Base de Datos y cree el siguiente diagrama, llamelo Academico: 6.4 Agregar datos a las Tablas Llene las tablas con datos, tal como se muestra: Tabla alumno Tabla: carrera IIS-INGº RAFAEL R. QUISPE MERMA Página 7 TALLER DE PROGRAMACIÓN III 7. Diseño de la Aplicación web Agregar un formulario web, llamelo Alumno.aspx, díseñelo tal como se muestra: Escriba el siguiente código en el evento Page_Load: En cuanto al método CargarAlumnos, digite el código siguiente: Finalmente ejecute la aplicación. IIS-INGº RAFAEL R. QUISPE MERMA Página 8 TALLER DE PROGRAMACIÓN III Actividad 1. Diseñe la siguiente página, llamelo AlumnosporCarrera.aspx : Escriba el código necesario para que cuando ejecute su aplicación se muestre así: IIS-INGº RAFAEL R. QUISPE MERMA Página 9 TALLER DE PROGRAMACIÓN III 2. Diseñe la siguiente pagina, llamelo Carreras.aspx: Escriba el código necesario para que cuando ejecute su aplicación se muestre así: Para recordar La cadena de conexión es más conveniente configurarlo en el Web.config, asi como se muestra: Cabe aclarar que tanto el valor del atributo name y connectionString, variara de acuerdo al valor que se le quiera asignar. IIS-INGº RAFAEL R. QUISPE MERMA Página 10 TALLER DE PROGRAMACIÓN III Para la utilización de la cadena de conexión deberá declararlo como una variable miembro privado de la clase respectiva de cada página donde requiera la conexión a la Base de datos, es decir de la siguiente manera: IIS-INGº RAFAEL R. QUISPE MERMA Página 11