Sección 3 Modelo de programación ADO ( Objetos de datos ActiveX)
Como se describe en el artículo "Presentación de ADO en Delphi", ADO es un conjunto de componentes COM (Modelo de objetos componentes) (DLL) que le permiten acceder a bases de datos como correo electrónico y sistemas de archivos. Las aplicaciones escritas con ADO no requieren BDE. Para utilizar ADO para acceder a varias bases de datos, necesita la biblioteca ADO/OLE DB (Enlace e incrustación de objetos). Es posible que lo que necesita para usar ADO ya exista en su computadora: estos archivos los distribuye Microsoft como parte de Windows 98/2000. Si utiliza Windows 95 o NT, es posible que necesite distribuir o instalar el motor ADO. El CD de Delphi 5 contiene los archivos de instalación de MDAC-Microsoft Data Access Components. Debe asegurarse de estar utilizando la última versión de MDAC, que está disponible en el sitio web oficial de Microsoft. MDAC es la tecnología clave que hace que el acceso universal a datos funcione. Incluyen objetos de datos ActiveX (ADO), OLE DB y conectividad abierta de bases de datos (ODBC).
Nota: Para poder instalarlo correctamente en una computadora con Windows 95, MDAC requiere que esté instalado DCOM95 (Modelo de objetos componentes distribuidos). Para un registro adecuado, los componentes instalados por MDAC dependen de las DLL instaladas por DCOM95. Tenga en cuenta que DCOM95 no es necesario en NT4.0. En algunos casos, no es necesario instalar DCOM en computadoras que ejecutan Windows. Pero si no está instalado, se debe instalar DCOM98 antes de instalar MDAC.
No es necesario discutir demasiado sobre OLE DB y ADO, pasemos a cuestiones más prácticas.
Objetos ADO
El modelo de programación ADO se basa en varios objetos ADO que proporcionan múltiples métodos para acceder a varios objetos de datos. Estos objetos proporcionan la funcionalidad para conectarse a fuentes de datos, consultar y actualizar conjuntos de registros e informar errores. Delphi accede a estos objetos a través de componentes encapsulados a través de varios componentes VCL. Echemos un vistazo a los objetos que funcionan con ADO:
Un objeto Connection que se conecta a una fuente de datos a través de una cadena de conexión. En BDE/Delphi, el objeto de conexión es una combinación de componentes de base de datos y componentes de sesión.
El objeto Command (Command) nos permite operar la fuente de datos. Describe un comando (también considerado una consulta o declaración) que puede manejar la adición, eliminación, consulta o actualización de datos de la base de datos.
El objeto Recordset (conjunto de registros) es el resultado del comando de consulta (Consulta). Puede pensar en Recordset como un componente de tabla (Tabla) de Delphi o un componente de consulta (Query). Cada fila devuelta por Recordset contiene varios objetos Field.
Varios otros objetos que existen en el modelo ADO son: objetos de campo, objetos de parámetro y objetos de error; volveremos a ellos en los siguientes capítulos.
Sección 4 Utilice ADOExPRess para conectarse a la base de datos
Antes de dar una breve explicación de cada componente de la colección ADOExpress, primero comprendamos cómo conectarse a una base de datos de Access. Por supuesto, nos conectaremos a nuestra base de datos de muestra: AboutDelphi.mdb (adición del traductor: la base de datos creada en el capítulo anterior).
Delphi(5) soporta principalmente ADO a través del componente ADOExpress en la página ADO del panel de componentes. En este curso se utilizarán varios otros componentes que habilitan bases de datos. Por ahora, nos centraremos en el conjunto mínimo de componentes necesarios para acceder a una base de datos de Access con ADO.
Ejecute Delphi y cree una nueva aplicación con un formulario vacío.
Para acceder a los datos de la base de datos de Access a través de ADO y Delphi, debe agregar al menos tres componentes con reconocimiento de datos a su proyecto. El primero es el DBGrid de la página del componente DataControls, que se utiliza para explorar registros obtenidos de una tabla o mediante una consulta. El segundo es DataSource (página de acceso a datos DataAccess), que se utiliza para conectar el conjunto de datos y el componente DBGrid en el formulario, logrando así la realización, navegación y edición de datos potenciales del conjunto de datos. Finalmente, está ADOTable (página ADO), que representa una tabla obtenida de la base de datos ADO. Arrástrelos y suéltelos todos en el formulario (Formulario) y los nombres de los componentes tomarán los valores predeterminados. El formulario ahora debería verse así:
Si ejecuta el programa ahora, no se mostrarán datos en el Grid; por supuesto, porque en realidad no estamos conectados a la base de datos. Tenga en cuenta otro punto: sólo la cuadrícula es visible, los otros dos componentes son controles invisibles.
Enlace entre componentes
Para mostrar datos de la base de datos, debemos conectar tres componentes. Realice los siguientes ajustes en el Inspector de objetos:
DBGrid1.DataSource = Fuente de datos1;
DataSource1.DataSet = ADOTable1;
Ahora llegamos a la parte difícil: para obtener los datos de la base de datos, tenemos que crear una ConnectionString. Esta cadena indica la ubicación de almacenamiento físico de la base de datos y cómo acceder a ella. Cuando hace doble clic en el botón de puntos suspensivos de la propiedad ConnectionString del componente AdoTable, obtendrá el siguiente cuadro de diálogo:
=
Microsoft.Jet.OLEDB.4.0;Data Source=C:/!gajba/About/aboutdelphi.mdb;
Para completar el diseño, debemos establecer el nombre de la tabla a la que se accede a través del componente ADOTable, nuevamente usando el Inspector de objetos. ADOTable1.TableName = aplicaciones Si desea ver los datos de la base de datos en tiempo de diseño, utilice la propiedad Activa de ADOTable; configúrela en Verdadero. ¡Ja! Si ha seguido todos los pasos anteriores, ahora verá que la tabla Aplicaciones tiene un solo registro (fila). Cuando ejecuta la aplicación, incluso puede cambiar los datos en la base de datos. Por supuesto, no puedes hacer más que eso; este es el ejemplo más simple de ADO que se me ocurre. Esta sección ahora puede concluirse. En el próximo capítulo, analizaremos todos los componentes ADO proporcionados por Delphi y cómo se comunican con los componentes restantes que admiten datos para crear una aplicación de base de datos Delphi más poderosa. 22 de diciembre de 2002 20:14