El Proceso Del ADO.net

23
UNIVERSIDAD PRIVADA TELESUP Carrera : INGENIERIA DE SISTEMAS Curso : Desarrollo de Aplicaciones Ciclo : VI Tema : El proceso del ADO.NET. Alumno : Melgar Gálvez, Henry Michael Página 1

description

DESARROLLO DE APLICACIONES

Transcript of El Proceso Del ADO.net

UNIVERSIDAD PRIVADA TELESUP

Carrera : INGENIERIA DE SISTEMASCurso :Desarrollo de AplicacionesCiclo: VITema : El proceso del ADO.NET.

Alumno: Melgar Glvez, Henry Michael

INDICE

1.0 Introduccin... 03 - 04 Pg.2.0 CAPITULO I....05 - 10 Pg.3.0CAPITULO II..11-13 Pg.4.0CAPITULO III .14-15 Pg.5.0CONCLUSIONES..16 Pg.6.0BIBLIOGRAFICAS.17 Pg.7.0ANEXOS.....18-19 Pg.

INTRODUCCION.ADO.NET no es una actualizacin de ADO, sino un rediseo completo. En el ncleo de ADO.NET es un conjunto de bibliotecas que estn diseados para comunicarse con una variedad de servicios de fondo almacenes de datos. Las bibliotecas de ADO.NET son parte del espacio de nombres System. Data y abarcan una gran variedad de bibliotecas adicionales que permiten la conexin de origen de datos, presentacin de consultas, y los resultados de procesamiento.

Uno de los objetivos del nuevo diseo de ADO.NET es proporcionar una cach jerrquica, desconectado de datos que funciona offline y online. El objeto central desconectada, llamado el Conjunto de datos, permite la bsqueda, el filtrado, la navegacin y el Almacenamiento de espera de los cambios de datos. El diseo de ADO.NET se basa en XML y permite ADO.NET para cerrar la brecha entre el acceso a bases de datos tradicionales y el desarrollo de XML. Los desarrolladores son capaces de trabajar tanto con los datos XML y los datos de base de datos utilizando un conjunto comn de interfaces de datos, como se muestra en la Figura.

ADO.NET est diseado para proporcionar un acceso coherente a orgenes de datos comunes a travs de un proveedor de datos administrado. Esto proporciona una interfaz comn para las fuentes de datos como SQL Server, as como las personas expuestas a travs de OLE-DB y las interfaces XML. Cada uno de los proveedores administrados est diseado especficamente para el tipo de acceso a datos que proporcionar. Estos resultados pueden ser procesados directamente o se colocan en un objeto Data Set de ADO.NET que luego pueden ser expuestos al usuario, combinados juntos, o incluso de forma remota entre niveles de aplicacin.

Una de las mayores ventajas del objeto Data Set es que se puede utilizar de forma independiente en l. NET Framework para administrar los datos almacenados localmente o archivos XML. ADO realmente ha sido el pilar de acceso a la base de datos durante aos, pero haba varios problemas de diseo inherentes que ADO NET 2 ADO.NET se cre para superar. Uno de los principales problemas que ADO.NET est diseado para resolver es la falta de elementos necesarios para construir fcilmente aplicaciones que formaban parte de. NET y la arquitectura orientada a servicios. Por ejemplo, XML se aadi en el ltimo momento a ADO como el estndar comenz a surgir dentro de la industria. ADO.NET en el otro lado fue diseado basado en XML. Adems, el motor de cursor de ADO permite pasar objetos Recordset de ADO desconectados entre los niveles de las aplicaciones, pero no proporciona una forma de combinar varios objetos de registros juntos. ADO tambin proporciona una forma de enviar los cambios a la base de datos en cach, pero no proporciona control mediante programacin de la lgica utilizada para enviar las actualizaciones. Una de las principales limitaciones para el desarrollo de aplicaciones basadas en SOA escalables que carecen en el motor de cursor de ADO es la posibilidad de enviar los cambios pendientes en la base de datos a travs de procedimientos almacenados. Muchos administradores de bases de datos permiten a los usuarios modificar slo el contenido de sus bases de datos a travs de procedimientos almacenados, que no es posible a travs del objeto binario del objeto de conjunto de registros ADO.

Captulo I

Las Diferencias entre las tecnologas ADO y ADO.NET

El ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. Es una parte de la biblioteca de clases base que estn incluidas en el Microsoft .NET Framework.

Es comnmente usado por los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor de Bases de Datos Relacionales, aunque tambin puede ser usado para acceder a datos en fuentes no relacionales.ADO.NET es a veces considerado como una evolucin de la tecnologa ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente que puede ser concebido como un producto enteramente nuevo.

ADO.NET consiste en dos partes primarias: Data provider

Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto comn de clases de utilidad: Connection: Proporciona una conexin usada para comunicarse con la fuente de datos. Tambin acta como Abstract Factory para los objetos command.

Command: Usado para realizar alguna accin en la fuente de datos, como lectura, actualizacin, o borrado de datos relacionales. Parameter: Describe un simple parmetro para un command. Un ejemplo comn es un parmetro para ser usado en un procedimiento almacenado. DataAdapter: "Puente" utilizado para transferir data entre una fuente de datos y un objeto DataSet (ver abajo).

DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez.

SQLCONNECTION EN ADO.NET

Lo primero que tendr que hacer al interactuar con una base de datos es crear una conexin. La conexin le dice al resto de la base de datos de cdigo de ADO.NET que se est hablando. Gestiona toda la lgica de bajo nivel asociada con los protocolos especficos de bases de datos. Esto hace que sea fcil para usted debido a que la mayor parte del trabajo que tendr que hacer en el cdigo es una instancia del objeto de conexin, abrir la conexin, a continuacin, cerrar la conexin cuando haya terminado. Debido a la ADO NET 6 forma en que otras clases de ADO.NET se construyen, a veces ni siquiera tiene que hacer mucho trabajo.

Aunque el trabajo con conexiones es muy fcil de ADO.NET, es necesarioComprender las conexiones con el fin de tomar las decisiones correctas al codificar sus rutinas de acceso a datos. Entender que una conexin es un recurso valioso. Claro, si usted tiene una aplicacin de cliente independiente que trabaja en una sola base de datos una sola mquina, es probable que no se preocupen por esto. Sin embargo, piense en una aplicacin de empresa, donde cientos de usuarios en toda la empresa a acceder a la misma base de datos.

Cada conexin representa sobrecarga y slo puede haber una cantidad finita de ellos. Para ver un caso ms extremo, considere un sitio Web que se ve afectado con cientos de miles de visitas al da algunas aplicaciones que se llevan las conexiones y no dejar ir puede tener graves impactos negativos en el rendimiento y la escalabilidad.

Creacin de un objeto SqlConnection

Un SqlConnection es un objeto, al igual que cualquier otro objeto C #. La mayor parte del tiempo, que acaba de declarar y crear instancias de la conexin SqlConnection, todo al mismo tiempo, como se muestra a continuacin:

SqlConnection conn = new SqlConnection ("Data Source = (local); Initial Catalog = Neptuno; Integrated Security = SSPI"); El objeto SqlConnection instancia anterior se utiliza un constructor con un soloargumento de tipo cadena se llama este argumento una cadena de conexin. La Tabla 1 describe las partes comunes de una cadena de conexin.

El objeto SqlConnection se encarga de la parte de la comunicacin fsica entre la aplicacin y el servidor SQL de base de datos. Una instancia de la clase SqlConnection en. NET Framework es compatible con el proveedor de datos para la base de datos SQL Server.

La instancia de SqlConnection lleva cadena de conexin como argumento y pasar el valor de la declaracin de constructor. Cuando se establece la conexin, los comandos de SQL pueden ser ejecutados, con la ayuda del objeto de conexin, para recuperar o manipular los datos en la base de datos. Una vez que las actividades de base de datos ms, la conexin debe ser cerrada y liberar los recursos de base de datos.

El mtodo Close () en la clase SqlConnection se utiliza para cerrar la conexin con la base. El mtodo Close deshace todas las transacciones pendientes y libera la conexin de la base de datos SQL Server.

Imports System.Data.SqlClientPublic Form1 clase Private Sub Button1_Click (ByVal sender As System.Object e, ByVal comoSystem.EventArgs) Handles Button1.Click ConnetionString dvil como secuencia Dim cnn Como SqlConnection connetionString = "Data Source = ServerName; Initial Catalog =DatabaseName, ID de usuario = nombre de usuario, contrasea = contrasea" cnn = New SqlConnection (connetionString) Tratar de cnn.Open () MsgBox ("Conexin Abre!") cnn.Close () Catch ex As Exception MsgBox ("No se puede abrir la conexin!") End Try End SubEnd Class

Usted tiene que proporcionar las informaciones necesarias para la cadena de conexin. connetionString = "Data Source = ServerName; Initial Catalog =DatabaseName, ID de usuario = nombre de usuario, contrasea Contrasea =" De la declaracin anterior reemplace ServerName, DatabaseName, UserName, Password a los nombres reales.

El uso de un objeto SqlConnection:

El propsito de crear un objeto SqlConnection es lo que puede permitir que otro cdigo ADO.NET para trabajar con una base de datos. Otros objetos de ADO.NET, como un objeto SqlCommand y un SqlDataAdapter tomar un objeto de conexin como parmetro. La secuencia de operaciones que ocurren en el curso de la vida de un SqlConnection es como sigue: 1. Cree una instancia del objeto SqlConnection.2. Abrir la conexin.3. Pase la conexin con otros objetos de ADO.NET.4. Realizar operaciones de base de datos con el resto de los objetos de ADO.NET.5. Cerrar la conexin. Ya hemos visto cmo crear una instancia de SqlConnection. El resto de los pasos, abriendo, de paso, el uso, y el cierre se muestran en el Listado 1.

Listado 1. El uso de un objeto SqlConnection con Sistema; utilizando System.Data; con System.Data.SqlClient; / / / / / / Muestra cmo trabajar con objetos SqlConnection / / / clase SqlConnectionDemo { static void Main () { / / 1 . Crear instancias de la conexin SqlConnection conn = nueva SqlConnection ( "Data Source = (local); Initial Catalog = Neptuno; Integrated Security =SSPI"); SqlDataReader rdr = NULL ;

tratar

{ / / 2. Abra la conexin conn.Open ();

/ / 3. Pasar la conexin a un objeto de comando cmd = SqlCommand nuevo SqlCommand ("select * from clientes", conn);

/ / / / 4. Utilice la conexin / / / / obtener resultados de la consulta rdr = cmd.ExecuteReader ();

/ / imprimir el CustomerID de cada registro , mientras que (rdr.Read ()) { Console.WriteLine (rdr [0]); } } finalmente { / / cerrar el lector , si (rdr =! nula ) { rdr.Close (); }

/ / 5. Cierra la conexin si (conn =! nula ) { conn.Close (); } } } }

Como se muestra en el Listado 1, se abre una conexin mediante una llamada al Open () mtodo de la SqlConnection ejemplo, con. Las operaciones en una conexin que no se ha abierto an generarn una excepcin. Por lo tanto, debe abrir la conexin antes de usarla.

Antes de utilizar un objeto SqlCommand , debe permitir que el cdigo de ADO.NET saber que la conexin que necesita. En el Listado 1, se establece el segundo parmetro a la SqlCommand objeto con el SqlConnection objeto, conn . Las operaciones realizadas con el objeto SqlCommand se utiliza esa conexin.

El cdigo que utiliza la conexin es un SqlCommand objeto, el cual realiza una consulta en la tabla Clientes. El conjunto de resultados se devuelven como un objeto SqlDataReader y al mismo tiempo bucle lee la primera columna de cada fila del conjunto de resultados, que es la columna CustomerID. Vamos a discutir el SqlCommand y SqlDataReader objetos en lecciones posteriores.

Por el momento, es importante que usted entienda que estos objetos se utiliza el SqlConnection objeto para que sepan qu base de datos para interactuar con l.Cuando haya terminado de usar el objeto de conexin, debe cerrarlo. De noHacerlo, podra tener graves consecuencias en el rendimiento y la escalabilidad de la aplicacin. Hay un par de puntos que se hacen sobre la forma en que ha cerrado la conexin en el Listado 1: el Close () se llama al mtodo en un ltimo bloque y nosAseguramos de que la conexin no es nulo antes de cerrarlo.

Capitulo II

DATASETS EN ADO.NET

El Data Set de ADO.NET es una representacin de datos residente en memoria que proporciona un modelo de programacin relacional coherenteIndependientemente del origen de datos que contiene. Un Data Set representa un conjunto completo de datos, incluyendo las tablas que contienen, ordenan y restringen los datos, as como las relaciones entre las tablas. Hay varias maneras de trabajar con un Data Set, que se pueden aplicar de forma independiente o conjuntamente.

Puede:

Crear mediante programacin una DataTable, DataRelation y una Constraint en un DataSet y rellenar las tablas con datos. Llenar el DataSet con tablas de datos de un origen de datos relacional existente mediante DataAdapter. Cargar y hacer persistente el contenido de DataSet mediante XML. Para obtener ms informacin, vea Utilizar XML en un DataSet.

Tambin se puede transportar un DataSet con establecimiento inflexible de tipos mediante un servicio Web XML. El diseo del DataSet lo convierte en idneo para el transporte de datos mediante servicios Web XML. Para obtener informacin general sobre servicios Web XML, vea Informacin general acerca de servicios Web XML.Para ver un ejemplo de cmo utilizar un DataSet de un servicio Web XML,vea Consumir DataSet a partir de un servicio Web XML.

Crear un DataSet

Puede crear una instancia de DataSet llamando al constructor DataSet. Si lo desea, especifique un nombre de argumento. Si no especifica ningn nombre para el DataSet, se establecer el nombre "NewDataSet".

Tambin es posible crear un nuevo DataSet basado en un DataSetexistente. El nuevo DataSet puede ser una copia exacta del DataSet existente; un clondel DataSet que copia la estructura relacional o el esquema, pero que no contiene ningn dato del DataSet existente; o un subconjunto del DataSet, que contiene solamente las filas modificadas delDataSet existente mediante el mtodo GetChanges. Para obtener ms informacin, vea Copiar contenido de DataSet. En el siguiente ejemplo de cdigo se muestra cmo construir una instancia de un DataSet.

Agregar DataTable a DataSet

ADO.NET permite crear objetos DataTable y agregarlos a un DataSet existente. Es posible establecer informacin de restricciones para una DataTable mediante las propiedadesPrimaryKey y Unique.

Ejemplo

En el siguiente ejemplo se construye un DataSet, se agrega un objeto DataTable nuevo al DataSet y, a continuacin, se agregan tres objetos DataColumn a la tabla. Por ltimo, el cdigo establece una columna como columna de clave principal. Distinguir maysculas de minsculas Pueden existir dos o ms tablas o relaciones con el mismo nombre, pero que difieran en maysculas y minsculas, en un DataSet. En estos casos, las referencias a tablas y relaciones por nombre distinguen maysculas y minsculas.

Por ejemplo, si el DataSet dataSet contiene las tablas Table1 y table1, se hace referencia por nombre a Table1como dataSet.Tables["Table1"] y se hace referencia a table1 como dataSet.Tables["table1"]. Si se intentara hacer referencia a cualquiera de las tablas mediante dataSet.Tables["TABLE1"] se generara una excepcin.

El comportamiento de distincin entre maysculas y minsculas no se aplica si slo hay una tabla o relacin con un nombre concreto. Por ejemplo, si el DataSet slo tieneTable1, se puede hacer referencia a stamediante dataSet.Tables["TABLE1"].

Compatibilidad con los espacios de nombres

En versiones anteriores de ADO.NET, dos tablas no podan tener el mismo nombre, aunque se encontrasen en espacios de nombres diferentes. Esta limitacin ha desaparecido en ADO.NET 2.0.

Un DataSet puede contener dos tablas con el mismo valor de propiedad TableName, pero con valores de propiedad Namespace diferentes. Agregar una relacin entre tablas

En un DataSet que contiene varios objetos DataTable, es posible utilizarObjetos DataRelation para relacionar una tabla con otra, desplazarse por las tablas y devolver filas secundarias o primarias de una tabla relacionada.

Los argumentos necesarios para crear una DataRelation son un nombre para la DataRelation que se va a crear y una matriz de una o msReferencias DataColumn a las columnas que actan como columnas primaria y secundaria en la relacin. Una vez creado un objeto DataRelation, es posible utilizarlo para desplazarse por las tablas y recuperar valores.

Al agregar una DataRelation a una DataSet, se agrega de forma predeterminada una UniqueConstraint a la tabla primaria y una ForeignKeyConstraint a la tabla secundaria. Para obtener ms informacin sobre cmo crear restricciones, vea Agregar restricciones a una tabla.

En el siguiente ejemplo de cdigo se crea una DataRelation mediante dosobjetos DataTable en un DataSet. Cada DataTable contiene una columnadenominada CustID, que acta como vnculo entre los dos objetos DataTable. En el ejemplo se agrega una nica DataRelation a la coleccin Relations del DataSet.

El primer argumento del ejemplo especifica el nombre de la DataRelation que se va a crear. El segundo argumento establece la DataColumn primaria y el tercer argumento establece la DataColumnsecundaria.

Capitulo III

DataAdapter EN ADO.NET

El objeto de DataAdapter del proveedor de datos de .NET se ajusta la lectura de registros en un objeto DataSet y actualiza la base de datos del DataSet. El DataAdapter administra objetos Command y DataReader y simplifica el proceso de sincronizacin. Puede utilizar el objeto OleDbDataAdapter para rellenar un DataSetdesde un objeto de ActiveX Data Objects (ADO) Recordset o Record.

El objeto DataAdapter es simplemente una forma de transferir datos entre una base de datos y un DataSet. Si necesita ms control sobre la funcionalidad de actualizacin o de relleno, puede escribir una funcin personalizada para administrar este proceso y manipular directamente el comando y los objetos DataReader. Arquitectura

El DataAdapter administra varios objetos de comando: SelectCommand DeleteCommand InsertCommand UpdateCommand

El DataAdapter incluye tres mtodos principales: Rellenar. Este mtodo utiliza el DataReader para leer registros y, aContinuacin, copia los registros en un DataSet (o un objeto DataTable). Muchas aplicaciones (especialmente aplicaciones basadas en Web) slorequieren acceso de slo lectura a los datos. De forma predeterminada, el DataAdapter recupera slo la cantidad mnima de esquema que es necesario (el nombre de columna y el tipo de datos) para admitir operaciones de slo lectura. DataAdapter utiliza lapropiedad SelectCommand para devolver un DataReader desde que se leen los registros.

FillSchema. Este mtodo consulta informacin de esquema que es necesaria actualizar la base de datos. Esto incluye las columnas de clave, la capacidad de columnas y as sucesivamente para aceptar NULL.

Para configurar el mtodo Rellenar para recuperar esta informacin deEs quema adicionales, establezca el valor de propiedad se haya dado elvalor MissingSchemaAction.AddWithKey a DataAdapterissingSchema Action .

Puede utilizar SelectCommand para devolver un DataReader desde el quese lee el esquema. Dado que resulta costoso recuperar el esquema del DataSet, o almacenar el esquema como un archivo de lenguaje de marcado extensible (XML) o utiliza un DataSet con. la actualizacin. Cuando actualiza la base de datos, DataAdapter comprueba la propiedad RowState de cada objeto DataRow en DataTable.

El DataAdapter despus llama a DeleteCommand ,InsertCommand o lapropiedad UpdateCommand para cambiar a la base de datos segn corresponda. Puede enlazar el evento RowUpdating y los eventos RowUpdated para personalizar cmo DataAdapter procesan las actualizaciones. El DataAdapter no tiene ninguna informacin acerca de la base de datos que est leyendo desde y escribir en; el DataAdapter slo ejecuta los comandos que administra. Por lo tanto, el DataAdapter no crea los objetos DataRelation en el DataSet. Para crear objetos DataRelation en el DataSet, debe utilizar uno de los mtodos siguientes: Cree los objetos mediante programacin en tiempo de ejecucin. Cargar el esquema de un definicin de esquemas XML (XSD) archivo. Crear los objetos en el esquema de DataSet de tiempo de diseo.

Conclusin

ADO .NET est diseado para fundamentarse en la fuerza del modelo de programacin de ADO, mientras que provee una evolucin en la tecnologa de acceso a datos para responder a las necesidades cambiantes del desarrollador. Est diseado para fortalecer tus conocimientos de ADO, mientras que provee un control ms fino sobre los componentes, recursos y comportamiento de tu aplicacin cuando accede y trabaja con datos.

REFERENCIAS BIBLIOGRAFICAS

http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.htmlABADAL, Ernest. CODINA, Llus.Bases de datos documentales: caractersticas, funciones y mtodos. Madrid: Sntesis, 2005.CARIDAD, Mercedes. "Bases de datos documentales: el acceso a la informacin". En: Lpez Yepes, Jos (coord.).Manual de informacin y documentacin.Madrid, Pirmide,1996.CMS-Spain.comhttp://www.ecm-spain.com/home.aspCODINA, Lluis.Bases de Datos Documentales: Talleres de Sistemas de Gestin de Bases de Datos Documentales.http://www.lluiscodina.com/metodos.htm#iiCODINA, L. FUENTES, M. E. "Documentacin periodstica y bases de datos: elementos para su fundamento como disciplina y propuesta de conjunto nuclear de bases de datos". En: Fuentes, M. E. (dir.).Anuari de biblioteconoma, documentaci e informaci.Barcelona, COBDC, 1999.

ANEXOS

Pgina 1