Blogia

alejandro5electronica

VISUAL BASIC

CONTROL DATAUso del Control DataEn Visual Basic puede utilizar el control Data para crear aplicaciones de bases de datos para una gran variedad de formatos de base de datos. El control Data interactúa con el motor de base de datos Microsoft Jet y permite crear aplicaciones preparadas para datos con la mínima cantidad de código posible.En esta sección se explica cómo utilizar el control Data y otros controles avanzados enlazados a datos para ver, modificar y actualizar información de una base de datos.5.3.1 Introducción al Acceso de DatosAntes de empezar a trabajar con la funcionalidad de bases de datos de Visual Basic, es necesario que comprenda las funciones de acceso a datos, así como la terminología referente a bases de datos.5.3.2 Trabajar con el Control DataEl control Data de Visual Basic le permite escribir aplicaciones de bases de datos muy eficaces con muy poco código.En esta sección aprenderá a generar aplicaciones de bases de datos con el control Data y el objeto Recordset asociado.Tener Acceso a Datos con el Control DataEl control Data implementa el acceso a datos mediante el motor de base de datos Microsoft Jet. Esta tecnología proporciona acceso a muchos formatos de base de datos y le permite crear aplicaciones que manejan datos sin necesidad de escribir código.§                                Uso de Controles Enlazados a DatosCuando enlaza un control enlazado a datos que ha colocado en un formulario, se muestran automáticamente los datos de la base de datos en el control enlazado. Si un usuario cambia los datos de un control enlazado, dichos cambios se actualizarán automáticamente en la base de datos en cuanto el usuario se desplace a otro registro. Muchos controles intrínsecos de Visual Basic están enlazados a datos, como es el caso de los controles CheckBox, Image, Label, PictureBox, TextBox, ListBox, ComboBox y los contenedores OLE. La siguiente ilustración es un ejemplo de un formulario que contiene un control Data y dos controles enlazados. §                                Enlazar ControlesDespués de establecer los valores de las propiedades para el control Data, es necesario enlazar al control Data los controles enlazados a datos individuales y después especificar qué campo de la tabla mostrará cada control.Uso de las Propiedades y métodos del Control DataPara especificar qué datos desea recuperar, debe establecer las propiedades DatabaseName y RecordSource de un control Data. Además, puede establecer las siguientes propiedades y métodos:§                                Propiedad Connect §                                Propiedad Exclusive §                                Propiedad ReadOnly §                                Propiedad Recordset §                                Propiedades BOFAction y EOFAction §                                Método Refresh ACTIVEX DATA OBJECT (ADO)

ADO (ActiveX Data Objects) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las bases de datos, darles órdenes y obtener resultados de ellas.

Con ADO, un programa puede leer, insertar, editar, o borrar, la información contenida en diferentes áreas de almacenamiento dentro de la base de datos llamadas tablas. Además, se puede manipular la propia base de datos para crear nuevas áreas para el almacenamiento de información (tablas), como también alterar o eliminar las ya existentes, entre otras cosas.

Fue desarrollado por Microsoft y es usado en ambientes Windows por lenguajes de programación como Visual Basic, C++, Delphi entre otros, como también en la Web mediante el uso de Active Server Pages (ASP) y el lenguaje VBScript

Evolución [editar]

ADO substituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), que eran los sistemas previos que se usaban para acceder a las bases de datos y bases de datos remotas, respectivamente. Tiene la mayor parte de la funcionalidad de ambos modelos y sin embargo es más sencillo de usar y de entender y por lo tanto más fácil y menos engorroso de programar.

La última versión de ADO, creada por Microsoft, se llama ADO.NET, y se usa en los entornos de programación de la plataforma .NET, de Microsoft, para manejar bases de datos tanto en Windows como en la Web mediante ASP.NET, que es la nueva versión del ASP para la plataforma .NET.

En la plataforma de programación de software libre llamada Mono también existe una librería similar a ADO.NET, lo que significa que ahora, la tecnología ADO.NET se puede usar en otros sistemas operativos aparte de Windows, como Linux, Mac OS X, BSD, y Solaris.

ADO.NET es mucho más poderoso que ADO pero también es muy diferente, por lo que es necesario rediseñar los programas hechos con ADO, para que funcionen en él.

Está previsto que para el 2006 salga una nueva versión del entorno .NET que tendrá una versión mejorada de ADO.NET, denominada ADO.NET 2.

+-----+-----+
| DAO | RDO |
+-----+-----+
|    ADO    |
+-----------+
|  ADO.NET  |
+-----------+
| ADO.NET 2 | (previsto para el 2006)
+-----------+
 

Funcionamiento [editar]

ADO es un intermediario entre el programa y la base de datos. El programa no ve la base de datos directamente, sino que hace todo el trabajo a través de ADO. Usando ADO, el programa se comunica con la base de datos, consulta, edita, inserta, borra, registros, añade tablas, etc. ADO a su vez se comunica con la base de datos a través de un "proveedor de datos".

El programa usa ADO para hacer una solicitud a la base de datos:
   "Dame el nombre y apellido de todos los empleados que vivan en Venezuela"
 
Programa ---> ADO ---> Proveedor de datos ---> Base de datos

En la dirección contraria, la base de datos responde, comunicándose con el proveedor de datos, éste con ADO, y al final, la información llega al programa.

La base de datos responde
 
Programa <--- ADO <--- Proveedor de datos <--- Base de datos
 
+--------+-----------+
| Nombre | Apellido  |
+--------+-----------+
| José   | Pereira   |
| Juan   | Pérez     |
| María  | Hernández |
+--------+-----------+

Una vez que el programa tiene la información proveniente de la base de datos, puede hacer con ella lo que considere, como por ejemplo, puede desplegarla en una página Web.

Los usuarios solicitados son los siguientes:

NombreApellido

José

Pereira

Juan

Pérez

María

Hernández

DATA ACCESS OBJECT

Context

Access to data varies depending on the source of the data. Access to persistent storage, such as to a database, varies greatly depending on the type of storage (relational databases, object-oriented databases, flat files, and so forth) and the vendor implementation.

Problem

Many real-world Java 2 Platform, Enterprise Edition (J2EE) applications need to use persistent data at some point. For many applications, persistent storage is implemented with different mechanisms, and there are marked differences in the APIs used to access these different persistent storage mechanisms. Other applications may need to access data that resides on separate systems. For example, the data may reside in mainframe systems, Lightweight Directory Access Protocol (LDAP) repositories, and so forth. Another example is where data is provided by services through external systems such as business-to-business (B2B) integration systems, credit card bureau service, and so forth.Typically, applications use shared distributed components such as entity beans to represent persistent data. An application is considered to employ bean-managed persistence (BMP) for its entity beans when these entity beans explicitly access the persistent storage-the entity bean includes code to directly access the persistent storage. An application with simpler requirements may forego using entity beans and instead use session beans or servlets to directly access the persistent storage to retrieve and modify the data. Or, the application could use entity beans with container-managed persistence, and thus let the container handle the transaction and persistent details.Applications can use the JDBC API to access data residing in a relational database management system (RDBMS). The JDBC API enables standard access and manipulation of data in persistent storage, such as a relational database. The JDBC API enables J2EE applications to use SQL statements, which are the standard means for accessing RDBMS tables. However, even within an RDBMS environment, the actual syntax and format of the SQL statements may vary depending on the particular database product.There is even greater variation with different types of persistent storage. Access mechanisms, supported APIs, and features vary between different types of persistent stores such as RDBMS, object-oriented databases, flat files, and so forth. Applications that need to access data from a legacy or disparate system (such as a mainframe, or B2B service) are often required to use APIs that may be proprietary. Such disparate data sources offer challenges to the application and can potentially create a direct dependency between application code and data access code. When business components-entity beans, session beans, and even presentation components like servlets and helper objects for JavaServer Pages (JSP) pages --need to access a data source, they can use the appropriate API to achieve connectivity and manipulate the data source. But including the connectivity and data access code within these components introduces a tight coupling between the components and the data source implementation. Such code dependencies in components make it difficult and tedious to migrate the application from one type of data source to another. When the data source changes, the components need to be changed to handle the new type of data source.

Forces

*                 Components such as bean-managed entity beans, session beans, servlets, and other objects like helpers for JSP pages need to retrieve and store information from persistent stores and other data sources like legacy systems, B2B, LDAP, and so forth. *                 Persistent storage APIs vary depending on the product vendor. Other data sources may have APIs that are nonstandard and/or proprietary. These APIs and their capabilities also vary depending on the type of storage-RDBMS, object-oriented database management system (OODBMS), XML documents, flat files, and so forth. There is a lack of uniform APIs to address the requirements to access such disparate systems. *                 Components typically use proprietary APIs to access external and/or legacy systems to retrieve and store data. *                 Portability of the components is directly affected when specific access mechanisms and APIs are included in the components. *                 Components need to be transparent to the actual persistent store or data source implementation to provide easy migration to different vendor products, different storage types, and different data source types.

Solution

Use a Data Access Object (DAO) to abstract and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data.The DAO implements the access mechanism required to work with the data source. The data source could be a persistent store like an RDBMS, an external service like a B2B exchange, a repository like an LDAP database, or a business service accessed via CORBA Internet Inter-ORB Protocol (IIOP) or low-level sockets. The business component that relies on the DAO uses the simpler interface exposed by the DAO for its clients. The DAO completely hides the data source implementation details from its clients. Because the interface exposed by the DAO to clients does not change when the underlying data source implementation changes, this pattern allows the DAO to adapt to different storage schemes without affecting its clients or business components. Essentially, the DAO acts as an adapter between the component and the data source.

Structure

Figure 9.1 shows the class diagram representing the relationships for the DAO pattern.
Figure 9.1 Data Access Object

Participants and Responsibilities

Figure 9.2 contains the sequence diagram that shows the interaction between the various participants in this pattern.
Figure 9.2 Data Access Object sequence diagram
 REMOTE DATA OBJECTRDO RDO es el contenedor COM de ODBC. ODBC, una API basada en C, permite un acceso a datos de propósito general (heterogéneo). Sin embargo, RDO se basa en SQL como lenguaje de comandos para tener acceso a datos.Puede que le interese utilizar controles de acceso a datos basados en ADO en lugar de los controles de acceso a datos de RDO.La tabla siguiente muestra las diferencias principales entre los controles de datos de ADO y de RDO.Controles enlazados a datos Los controles enlazados a datos de RDO utilizan las interfaces ICursor; los controles ADO utilizan la interfaz OLE DB IRowset. En ambos casos, las interfaces utilizadas por los controles devuelven un conjunto de filas.Los controles enlazados a datos basados en RDO se diseñaron para ofrecer un rendimiento óptimo con Visual Basic. Por ello, parte de la funcionalidad de los controles enlazados a datos de RDO, en particular la de formato, no está disponible para las aplicaciones de Visual C++. Este problema no existe en los controles de enlace de datos de ADO.Controles de datos Los controles de datos ADO implementan la interfaz IDataSource y los controles de datos de RDO implementan la interfaz IVBDSC. Puede llamar a un método de IDataSource para recibir un puntero a la interfaz IRowset. De forma similar, puede llamar a un método de IVBDSC para recibir un puntero a la interfaz ICursor.