Está en la página 1de 6

ADO DATA VB6

Es posible utilizar el control ADO Data para crear una aplicacin que despliege, agregue y actualice datos de una base de datos, tambin es posible crear applicaciones que utilicen Microsoft SQL Server. ADO es una estrategia Microsoft de interface de programacin a nivel de aplicacin para datos e informacin. OLE DB tiene 3 componentes: 1. Data Providers, Un Proveedor de Datos es cualquier proveedor OLE DB que posee datos y los expone en una forma tabular, ejemplos de proveedores de datos son DBMS relacionales, hojas de clculo, sistemas de archivos y correo electrnico. 2. Data Consumers, Los Consumidores de Datos son aplicaciones que utilizan datos que exponen los proveedores de datos, es decir, cualquier aplicacin que utiliza ADO es un consumidor OLE DB. 3. Service Components, aunque los proveedores de datos pueden suministrar alguna funcionalidad de base de datos, los servicios de componentes OLE DB realizan la funcionalidad de procesamiento y transporte de datos entre consumidores de datos y proveedores de datos, en este escenario ni la aplicacin front-end (cliente) ni la back-end database (servidor) es responsable de proveer su propia funcionalidad de bases de datos, en su lugar los servicios de componentes proveen la funcionalidad que cualquier aplicacin puede usar cuando acceden a datos. Visual Basic puede acceder a todos los tipos de datos. Acceder a datos es el proceso de vista y manipulacin de informacin que se origina en una fuente de datos externa, como Micorsoft Access, SQL Server o Exchange.

Caractersticas para Acceder a Datos


Los ActiveX Data Objects (ADO) proveen el acceso a datos e informacin a travs de las siguientes tcnicas:

ADO Data Control, provee la funcionalidad para acceder a datos con una cantidad de cdigo limitado. ActiveX Data Objects (ADO), proveen una completa interface de programacin que proporciona el acceso a todo tipo de datos. Data Form Wizard, es utilizada en conjunto con los controles ADO Data y diseada para generar automticamente formas Visual Basic, las cuales contienen controles individuales y procedimientos utilizados para administrar la informacin derivada de las tablas de bases de datos y consultas. Es posible utilizar Data Form Wizard para crear formas de consulta para administrar los datos de una tabla o consulta o formas de tipo Master/Detail utilizadas para administrar relaciones de datos uno a muchos ms complejas.

ADO Data Environment Designer, provee un ambiente en tiempo de diseo ms interactivo para cread objetos ADO, que pueden usarse como fuentes de datos para objetos data-aware sobre una forma o reporte o acceder programticamente como mtodos y propiedades. Query Designer, es posible crear consultas que modifiquen una base de datos por una actualizacin, insercin o eliminacin de renglones. Es posible crear consultas de propsito especial, por ejemplo que la consulta reciba parmetros en los cuales se proveen los valores de bsqueda cuando la consulta es ejecutada. Third-Party Controls, otros controles que ofrecen opciones de conectividad a bases de datos.

Implementacin de un Control de Datos ADO


Cuando se utiliza el ADO Data Control, se conecta a una base de datos y a una fuente especifica de registros dentro de la base de datos. Los registros asociados se vuelven disponibles como un recordset. El control que se encuentra en ToolBox es un control DAO anterior, para agregar el ADO Data Control al proyecto agregue el componente Microsoft ADO Data Control 6.0(OLEDB). Propiedad ConnectionString La propiedad ConnectionString del ADO Data Control contiene la informacin utilizada para establecer una conexin a una fuente de datos. Esta propiedad puede ser establecida en tiempo de diseo utilizando la ventana de propiedades o seleccionar el control y dar clic al botn derecho del mouse para seleccionar ADODC Properties Cuando se establecen los valores del ConnectionString a travs de la ventana de propiedades se tienen 3 opciones de conexin: 1. Use Data Link File, especifica que se utilizar un string de conexin personalizado que conecta a la fuente de datos. 2. Use ODBC Data Source Name, especifica que un nombre de fuente de datos definido por el sistema (DNS) es utilizado para el string de conexin. 3. Use Connection String, especifica que se utilizar un string de conexin para acceder a los datos.

Propiedad RecordSourse
La propiedad RecordSourse puede ser una tabla inividual en la base de datos, una consulta almacenada (stored procedure) o un string de consulta que utiliza el Lenguaje de Consultas Estructurado (SQL - Structured Query Language).

Un Objeto Command es una definicin especifica de un comando especifico que se intenta ejecutar contra una fuente de datos. La propiedad RecordSourse puede establacerse en tiempo de diseo o en tiempo de ejecucin adcEmpleados.RecordSource = "Empleados", donde se establace el tipo de comando que puede ser:
adCmdUnkno n,

el tipo de comando en la propiedad Command!e"t no es conocido. Este es el valor por default. adCmd!e"t, evalua el Command!e"t como una definicin textual de un comando o invocacin a un stored procedure. adCmd!a#le, evalua el Command!e"t como un nombre de tabla donde se regresan todas las columnas por una consulta SQL generada internamente. adCmdStored$roc, evalua el Command!e"t como un nombre de stored procedure.

Vncular un Control
Una vez que se establecen las propiedades ConnectionString y RecordSource para el ADO Data Control, es posible agregar un vnculo de control para desplegar datos en la forma. Un bound control es uno que es "data-aware" (DBCombo, DBList, MSFlexGrid, OLE Control, RichTextBox, DBGrid), cuando un ADO Data Control se mueve al siguiente registro por medio de cdigo o cuando el usuario da clic a la flechas de control del ADO Data, todos los controles vnculados son conectados al cambio del ADO Data Control para desplegar datos de los campos en el registro actual. Adicionalmente si el usuario cambia los datos en el bound control, estos cambios son automticamente enviados a la base de datos y el usuario se mueve a otro registro. Slo un registro de informacin puede ser editado y actualizado a la vez, el cual es el registro actual.

Propiedades DataSource y DataField


Es necesario establecer las propiedades DataSource y DataField del bound control. La propiedad DataSource especifica el ADO Data Control a travs del cual el control es vnculado a la base de datos, se establece usualmente en tiempo de diseo a travs de la ventana de propiedades, si se desea establace en tiempo de ejecucin es necesario utilizar la palabra reservada Set porque la propiedad DataSource es un objeto. La propiedad DataField indica cuales campos son desplegados en el bound control, se puede establecer esta propiedad en tiempo de diseo o ejecucin. Por ejemplo para establecer las propiedades en tiempo de ejecucin:

adcEmpleados.RecordSource = "SE%EC! nom#reEmpleado FRO& Empleados" Set t"t'om#re.DataSource = adcEmpleados t"t'om#re.DataField = "(alor"

Nuevos Controles Data-Aware


Existen nuevos controles ActiveX, diseados especificamente para ver y editar datos:
Data)rid, Data%ist,

control que puede trabajar con ADO Data Control este control funciona exactamente como el control DBList, pero est optimizado para usarlo con datos OLE DB. DataCom#o, funciona como el vontrol DBCombo, pero pueder utilizarse con fuentes de datos OLE DB. *ierarc+ical Fle")rid, presentan datos recordset de una o ms tablas en un formato grid. DataRepeater, permite utilizar un control de usuario para desplegar datos y repetir el control para mltiples vistas. &ont+,ie , despliega fechas grficamene como calendario. Date!ime$icker, despliega fechas en cajas de texto, al dar clic al texto causa que se presente un calandario grfico para seleccionar la nueva fecha.

Propiedades Data Binding


Los controles intrnsecos y muchos controles ActiveX, tienen propiedades de datos especificas asociadas. Las propiedades utilizadas para el Data Binding incluyen:
DataSource,

regresa o establece el valor de la fuente de datos para un

control.
Data&em#er,

regresa o establece el valor del dato especificado dentro de la fuente a utilizar. Permite especificar que conjuntos de datos utilizar. DataField, regresa o establace el valor del campo especifico para vncular un control. DataFormat, permite definir el formato automtico de datos como sern recuperados desde la fuente de datos.

Recordset
El ADO Data Control tiene una propiedad llamada Recordset la cual es un grupo de registros, en si es un objeto y tiene sus propias propiedades y mtodos. Para recuperar un conjunto de registros, se establece la propiedad RecordSource del ADO Data Control, la cual es un string que puede ser una consulta o nombre de tabla dentro de la base de datos desde la cual se obtienen los registros.

El objeto Recordset tiene las propiedades -OF y EOF que indican si se est al inicio o al final del Recordset, si no se obtuvieron registros el valor de ambas propiedades es !rue. Para actualizar el registro actual se utiliza el mtodo Update, por ejemplo:
adcEmpleados.Recordset.Update

Para cancelar cualquier cambio realizado al registro actual o si se agrego un nuevo registro antes de invocar al mtodo Update se emplea el mtodo CancelUpdate:
adcEmpleados.Recordset.CancelUpdate

Para agregar nuevos registros a un Recordset se invoca el mtodo Add'e :


adcEmpleados.Recordset.add'e

El mtodo Add'e inicializa el bound control y el nuevo registro se convierte en el registro actual, si se invoca el mtodo Add'e mientras se edita otro registro ADO automticamente invoca el mtodo Update para almacenar cualquier cambio y entonces crear un nuevo registro. Para eliminar el registro actual o grupo de registros en un recordset se utiliza el mtodo Delete, el cual tiene el parmetro A..ectRecords que es utilizado para establecer cuantos registros se podrian afectar. El parmetro A..ectRecords puede tener 2 posibles valores: 1. adA..ectCurrent, elimina slo el registro actual y es la opcin por default. 2. adA..ect)roup, esta opcin se utiliza para eliminar todos los registrso que satisfagan el filtro actual, por lo que es necesario establacer la propiedad Filter antes de utilizar esta opcin. Recuperar valores de campos de registros eliminados, genera un error, despus de eliminar el registro actual permanece hasta que se mueva a un registro diferente, una vez que se mueve a otro registro, el registro eliminado no es accesible.
adcEmpleados.Recordset.delete AffectRecords

Es posible utilizar la propiedad EOF para saber si se elimino el ltimo registro, si es !rue moverse al ltimo registro del recordset a travs del mtodo &o(e%ast. Para buscar en un recordset existente un registro que satisfaga el criterio especificado, agregue la caracterstica de bsqueda a la aplicacin a travs del uso del mtodo Find, si el criterio coincidio con un registro, el recordset se posiciona en ese registro o si no encuentra coincidencias se posiciona al final del recordset (EOF).

El mtodo Find tiene un parmetro requerido el cual es el criterio de bsqueda y 3 parmetros opcionales, SkipRo s, Searc+Direction y Start. El parmetro Criteria es un string que contiene la sentencia que especifica el nombre de columna, operador de comparacin (>, <, =, like) y el valor para ser usado en la bsqueda, ejemplo: 1. SkipRo s, valor opcional %ong, el cual por default tiene el valor /, es utilizado para especificar si inicia la bsqueda desde el registro actual o desde el bookmark. 2. searc+Direction, valor opcional que especifica cuando la bsqueda debera comenzar sobre el registro actual o el siguiente registro disponible, la bsqueda termina al encontrar el inicio o final del recordset, dependiendo la direccin de bsqueda, la cual puede ser: adSearc+For ard (0), AdSearc+-ack ard (1). 3. start, valor opcional Variant bookmark para utilizarlo como la posicin de inicio de la bsqueda, puede ser un bookmark o alguno de los siguientes valores: ad-ookmarkCurrent (0) bookmark actual, ad-ookmarkFirst (1) primer registro, ad-ookmark%ast (2) ltimo registro.
adcEmpleados.Find "'i(el = $A" adcEmpleados.Find "'i(el %01E 2$32"

Cuando se realiza una bsqueda de registros utilizando el mtodo Find, se pueden emplear las propiedades EOF y -OF del objeto Recordset para determinar cuando un registro en particular fu encontrado. Si la bsqueda falla, es decir, no encuentra el registro, se debe regresar al registro donde la bsqueda comenzo:
0. adcEmpleados.EOF Or adcEmpleado.-OF !+en adcEmpleados.#ookmark = (ar-ookmark End 0.

Se recurre al uso de la propiedad #ookmark para dejar una marca y saber en que registro comenzo la bsqueda.

También podría gustarte