martes, 16 de junio de 2009

ADO datacontrol


Es posible utilizar el control ADO Data para crear una aplicación que despliegue, agregue y actualice datos de una base de datos, también es posible crear aplicaciones que utilicen Microsoft SQL Server.

ADO es una estrategia Microsoft de interface de programación a nivel de aplicación para datos e información.

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 cálculo, sistemas de archivos y correo electrónico.

2. Data Consumers, Los Consumidores de Datos son aplicaciones que utilizan datos que exponen los proveedores de datos, es decir, cualquier aplicación 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 aplicación 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 aplicación 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 manipulación de información que se origina en una fuente de datos externa, como Micorsoft Access, SQL Server o Exchange.

Características para Acceder a Datos

Los ActiveX Data Objects (ADO) proveen el acceso a datos e información a través de las siguientes técnicas:

• ADO Data Control, provee la funcionalidad para acceder a datos con una cantidad de código limitado.

• ActiveX Data Objects (ADO), proveen una completa interface de programación que proporciona el acceso a todo tipo de datos.

• Data Form Wizard, es utilizada en conjunto con los controles ADO Data y diseñada para generar automáticamente formas Visual Basic, las cuales contienen controles individuales y procedimientos utilizados para administrar la información derivada de las tablas de bases de datos y consultas.

• ADO Data Environment Designer, provee un ambiente en tiempo de diseño más interactivo para cread objetos ADO, que pueden usarse como fuentes de datos para objetos data-aware sobre una forma o reporte o acceder programáticamente como métodos y propiedades.

• Query Designer, es posible crear consultas que modifiquen una base de datos por una actualización, inserción o eliminación de renglones. Es posible crear consultas de propósito especial, por ejemplo que la consulta reciba parámetros en los cuales se proveen los valores de búsqueda cuando la consulta es ejecutada.

• Third-Party Controls, otros controles que ofrecen opciones de conectividad a bases de datos.

Implementación 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).
En el menú Proyecto/Componentes… seleccionar Microsoft ADO Data Control, que seguramente ira acompañado de la versión del control que es 6.0 (SP4) (OLEDB).
Luego de aceptar, para cerrar el cuadro de diálogo de añadir componentes, mostrará un nuevo objeto en la barra de herramientas, asegurarse de tener abierto el formulario y hacer doble click en dicho control Adodc, de esta manera se añadirá un ADO datacontrol al formulario.

Propiedad ConnectionString
La propiedad ConnectionString del ADO Data Control contiene la información utilizada para establecer una conexión a una fuente de datos.
Esta propiedad puede ser establecida en tiempo de diseño utilizando la ventana de propiedades o seleccionar el control y dar clic al botón derecho del mouse para seleccionar ADODC Properties
Cuando se establecen los valores del ConnectionString a través de la ventana de propiedades se tienen 3 opciones de conexión:

1. Use Data Link File, especifica que se utilizará un string de conexión 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 conexión.

3. Use Connection String, especifica que se utilizará un string de conexión para acceder a los datos.

Propiedades:

- ConnectionString
La propiedad ConnectionString del ADO Data Control contiene la información utilizada para establecer una conexión a una fuente de datos.
Esta propiedad puede ser establecida en tiempo de diseño utilizando la ventana de propiedades o seleccionar el control y dar clic al botón derecho del mouse para seleccionar ADODC Properties
Cuando se establecen los valores del ConnectionString a través de la ventana de propiedades se tienen 3 opciones de conexión:

1. Use Data Link File (Usar un archivo vinculado a datos), determina que se utilizará un string de conexión personalizado que conecta a la fuente de datos.

2. Use ODBC Data Source Name (Usar un nombre de origen de datos ODBC), determina que un nombre de fuente de datos definido por el sistema (DNS) es utilizado para el string de conexión.

3. Use Connection String (Usar una cadena de conexión), determina que se utilizará un string de conexión para acceder a los datos.

- RecordSourse
La propiedad RecordSourse puede ser una tabla individual 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 definición específica de un comando específico que se intenta ejecutar contra una fuente de datos.
La propiedad RecordSourse puede establecerse en tiempo de diseño o en tiempo de ejecución adcEmpleados.RecordSource = "Empleados", donde se establece el tipo de comando que puede ser:

• adCmdUnknown, el tipo de comando en la propiedad CommandText no es conocido. Este es el valor por default.

• adCmdText, evalua el CommandText como una definición textual de un comando o invocación a un stored procedure.

• adCmdTable, evalua el CommandText como un nombre de tabla donde se regresan todas las columnas por una consulta SQL generada internamente.

• adCmdStoredProc, evalúa el CommandText como un nombre de stored procedure.

Práctica


1.- Crear un nuevo proyecto, en Proyecto/Componentes... seleccionar Microsoft ADO Data Control (OLEDB), pulsar Aceptar se añadirá un nuevo control a la barra de herramientas:

2.- Hacer dobleclick en ese control para que se añada al formulario, cambiarle la altura: 315 y añadir un TextBox, cambiar el tamaño, alto: 315, ancho: 2955.

3.- Crear un array del Text1 recién añadido: Seleccionar el Text1, pulsar el botón derecho y copiarlo; pulsar en cualquier lado del Form y Pegarlo, preguntará si se desea crear un array del control Text1?, responder que SI. Volver a pegar de nuevo y se creará un tercer Text1 y luego un cuarto Text1.

Ahora habrá tres controles Text1 con los índices desde 0 a 3

Configurar el ADO datacontrol:

4.- Seleccionar el datacontrol, en la ventana de propiedades pulsar en ConnectionString... mostrará un cuadro de diálogo:

En la ficha General, estará seleccionada la opción "Use Connection String", pulsa en el botón "Generar..."

Mostrará otro cuadro de diálogo, en la ficha "Proveedor", seleccionar Microsoft Jet 4.0 OLE DB Provider, pulsa en "Siguiente>>" y selecciona la base de datos que quieres usar, (Video Club MEGA.mdb); el resto de opciones dejarlos como están; pulsar en "Aceptar" dos veces para que se cierren los cuadros de diálogo.

Seleccionar la tabla a usar:

5.- Seleccionar la propiedad CursorType (Tipo de Cursor) y de la lista desplegable selecciona 2-adOpenDynaset.

6.- Seleccionar la propiedad RecordSource y pulsa en el botón, te mostrará un cuadro de diálogo: De la lista desplegable (Tipo de Comando), selecciona: 2-adCmdTable, la lista "Tabla o Nombre de procedimiento almacenado" se habrá habilitado, selecciona el nombre de la tabla que quieres usar, en este caso Actor y pulsa en Aceptar.

Para conectar cada Text1 con un campo de la base de datos:

7.- Pulsar en cualquier parte del formulario para quitar la selección actual.

8.- Seleccionar el Text1 con índice 0.

En la ventana de propiedades, selecciona DataSource y en la lista desplegable selecciona Adodc1.

9.- Selecciona DataField y de la lista desplegable, selecciona "id-actor"

10.- Hacer lo mismo con los otros dos Text1, pero para el de índice 1, selecciona "Nombre" y para el tercero: "Nacionalidad" y para el último: “Sexo”

Añadir y borrar registros de la tabla.

Para tener estas dos opciones, añade dos botones al formulario, al primero lo llamas cmdAdd y en el Caption escribe Añadir, al otro botón le cambias el nombre a cmdDel y en el Caption escribe: Eliminar.
Añade el siguiente código:

Private Sub cmdAdd_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub cmdDel_Click()
Adodc1.Recordset.Delete
End Sub