Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Como un buen punto de partida para comprender la importancia del nuevo diseo de ADO .NET, creo que puede estar bien analizar en qu se diferencian ADO .NET del modelo ADO vigente hasta la fecha. Las diferencias existentes son muchas y van desde el mismo diseo de los interfaces de las clases hasta el nivel estructural de los componentes y en cmo manejan la informacin. Examinando las diferencias que existen. Clases de objetos mas estructuradas El modelo de objetos de ADO .NET es mucho ms rico que el de ADO. Incorpora nuevas clases de datos y encapsula mucha ms potencia de uso a la par que corrige pequeos defectos de las versiones anteriores. Independiente del lenguaje Aprovechando la nueva arquitectura de servicios de la plataforma .NET, ADO .NET puede ser usado como un servicio del sistema, pudiendo ser utilizado por cualquier aplicacin escrita en cualquier lenguaje.
ADO .NET ofrece una buena cantidad de mejoras respecto a modelos anteriores de ADO. Los beneficios los podremos agrupar en las siguientes categoras: Interoperabilidad Las aplicaciones basadas en ADO .NET recogen la ventaja de la flexibilidad y la masiva aceptacin del estndar XML para el intercambio de datos. Puesto que XML es el estndar de envo de informacin entre capas, cualquier componente capaz de Interpretar los datos XML puede acceder a la informacin de ADO .NET se encuentre donde se encuentre, y procesarla. Adems, puesto que la informacin se enva en flujos de XML, no importa la implementacin empleada para enviar o recoger la informacin as como la plataforma empleada-. Simplemente se exige a los componentes que reconozcan el formato XML empleado para el proceso, envo y recepcin de un DataSet. Mantenimiento En el ciclo de vida de una aplicacin los cambios poco sustanciales y modestos son permisibles. Pero cuando es necesario abordar un cambio estructural o arquitectnico del sistema, la tarea se vuelve demasiado compleja y a veces inviable. Esto es una gran desventaja de los sistemas actuales, pues muchas veces esto es una necesidad de actualizacin de los procesos de la propia empresa. Adems, cuanto ms se aumenta el proceso de la operativa de la empresa, las necesidades de proceso crecen hasta desbordar las mquinas. Es por ello que se separa la estructura de un programa en varias capas. Una de esas capas es la de datos, que es fundamental desarrollar correctamente. Gracias a los DataSets, la tarea de portar y aumentar los procesos de datos y de negocio ser mas sencillo: el intercambio de informacin a travs de XML, hace que sea ms sencilla la tarea de estructurar en ms capas la aplicacin, lo que la hace mucho ms modular y mantenible.
Como se puede observar, aparecen nombres de objetos genricos del sistema que complican la lectura del cdigo, a la par que los operadores complican tambin la visin de la secuencia de acceso a los datos. Podramos interpretar lo que hace gracias a que aparecen los nombres propios de los datos que necesitamos.
If CosteTotal> DataSet1.Cliente("Hevia").CreditoDisponible then
El ejemplo es exactamente igual al anterior, pero en este caso, el cdigo se centra ms en los objetos reales que en el objeto del lenguaje en s: las palabras Table y column ya no aparecen. En su lugar vemos que aparecen los nombres de los objetos empleados de la vida real, lo que hace el cdigo ms legible. Si a esto unimos que los entornos ya son capaces de ayudarnos a escribir el cdigo, todava lo tenemos ms sencillo, ya que podemos ver con nuestras palabras el modelo de objetos de datos que necesitamos en cada momento. Incluso a nivel de ejecucin nos vemos respaldado por un sistema de control de tipos y errores que nos permitirn proporcionar una robustez innata que antes no se tena sin pasar por el uso de funciones externas. Rendimiento Puesto que trabajamos con objetos de datos desconectados, todo el proceso se acelera, ya que no tenemos que estar comunicndonos por Marshalling con el servidor. Adems, gracias al modelo de XML la conversin de tipos no es necesaria a nivel de COM. Se reduce pues el ancho de banda disponible, se independiza ms el cliente del servidor y se descarga ms a ste, que puede estar dedicado a otras tareas en lo que el cliente analiza sus datos. Escalabilidad Las aplicaciones Web tienen un nmero ilimitado de conexiones potenciales debido a la naturaleza de Internet. Los servidores son capaces de atender muy bien decenas y decenas de conexiones. Pero cuando hablamos de miles y millones, los servidores ya no son capaces de
DataSet
El API de ADO .NET proporciona una superclase que encapsula lo que sera la base de datos a un nivel lgico: tablas, vistas, relaciones, su integridad, etc, pero siempre con independencia del tipo de fabricante que la dise. Aqu se tiene el mejor concepto de datos desconectados: una copia en el
una base de datos desconectada del proveedor de datos. Almacena tablas y sus relaciones.
DataTable: un contenedor de datos. Estructurado como un conjunto
tablas.
Constraint: reglas de validacin de las columnas de una tabla. DataColumnMapping: vnculo lgico existente entre una columna de
DataSet y la tabla fsica de la base de datos.Adems de estas clases, existe otro grupo de clases,
las clases especficas de un proveedor de datos. Estas clases forman parte de lo especfico de un fabricante de proveedores de datos .NET. Tienen una sintaxis de la forma XxxClase donde Xxx es un prefijo que determina el tipo de plataforma de conexin a datos. Se definen en dos NameSpaces: System.Data.SqlClient y System.Data.OleDb. En la siguiente Tabla, se ofrece una descripcin de las clases que podemos encontrar en estos espacios de nombres. Clase SqlCommand OleDbCommand SqlConnection OleDbConnection Descripcin Clases que representan un comando SQL contra un sistema gestor de datos. Clase que representa la etapa de conexin a un proveedor de datos. Encapsula la seguridad, pooling de conexiones, etc. Generador de comandos SQL de insercin, modificacin y borrado desde una consulta SQL de seleccin de datos. Un lector de datos de slo avance, conectado a la base de datos. Clase adaptadora entre un objeto DataSet y sus operaciones fsicas en la base de datos (select,insert,update y delete).
Para aquellos conocedores de ADO en alguna de sus versiones anteriores podemos hacer una analoga o comparacin entre las antiguas clases de ADO y las nuevas de ADO .NET.
Hasta aqu hemos realizado una introduccin a la tecnologa ADO .NET, viendo su arquitectura y comentando las clases principales. En lo que resta de captulo vamos a utilizar las distintas clases que nos ofrece ADO .NET desde pginas ASP .NET para realizar tareas comunes de acceso a datos, como pueden ser establecer una conexin, obtener un conjunto de registros, realizar operaciones con los datos, etc.
La sintaxis utilizada para indicar la cadena de conexin es muy similar a la utilizada en ADO, a Continuacin vamos se mostrara 5 ejemplos de conexiones a una base de datos SQL Server 2000 2005, Oracle, Microsoft Access 2003 y 2007, y por ultimo por medio de una DSN. Para Ello Creamos un Proyecto que contenga 4 formularios I. En El Primer Formulario Caso 1 Utilizacin del la Librera SqlClient.
Imports System.Data.SqlClient
3. Seguidamente en el Evento Load del formulario escribir el Siguiente Cdigo.
Try
Dim cn As New SqlConnection("Server=(local);Database=poseidon;user id=sa;password=;integrated security=true;") cn.Open() MessageBox.Show("conectado") cn.Close() MessageBox.Show("Desconectado") Catch ex As Exception MsgBox(ex.Message) End Try
Caso2
Dim cn As New Odbc.OdbcConnection("dsn=cn") cn.Open() MessageBox.Show("conectado") cn.Close() MessageBox.Show("Desconectado") Catch ex As Exception MsgBox(ex.Message) End Try
Caso 3
Caso 4
Imports System.Data Dim oCon As OracleConnection = New OracleConnection("Data Source=MyOracleServer;Integrated Security=yes; Database=poseidon ")
Caso 4
Crearemos un Modulo.- Este modulo contiene variables publicas. Imports System.Data.SqlClient Module Module1 Public cn As New SqlConnection("Server=(local);Database=itae;user id=sa;password=;integrated security=true;") Public da1 As New SqlDataAdapter("select * from alumnos", cn) Public da2 As New SqlDataAdapter("select * from pago_alumnos", cn) Public ds As New DataSet End Module
a) Importamos la Librera Imports System.Data.SqlClient, esta librera hace b) La variable cn contiene la cadena de conexin
c) La variable da1 contiene la tabla alumno. d) La variable da2 contiene la tabla pago_alumnos. referencia a una base de datos SQL.
Dentro de Archivo se encuentran las siguientes opciones Configurar Impresora y Salir a) Configurar Impresora.- Esta opcin permite modificar el tipo de impresora que se va a utilizar. Codificacin: 1. Dentro del formulario principal insertar el componente AxCommonDialog que se encuentra en la barra de herramientas, en caso no se encontrase en la barra de herramientas hacer clic derecho en la barra de herramientas y
a) Alumnos.- Esta opcin Contiene al formulario Mantenimiento de Alumnos Codificacin: 1. Hacer doble clic en la opcin Alumnos y codificar lo siguiente:
Dim alumnos As New alumnos alumnos.MdiParent = Me alumnos.Show()