Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
41Activity
0 of .
Results for:
No results containing your search query
P. 1
Capitulo 12 Visual Basic

Capitulo 12 Visual Basic

Ratings:

5.0

(7)
|Views: 3,868|Likes:
Published by boyforbaby
Mas sobre Visual Basic 6
Mas sobre Visual Basic 6

More info:

Published by: boyforbaby on Sep 10, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/17/2013

pdf

text

original

 
Visual Basic Guía del estudiante Cap. 12
Objetos DAOACCESO A BASES DE DATOS SIN UTILIZAR EL CONTROL DATA
En el capítulo anterior hemos visto los controles capaces de acceder a un Base de Datos,enlazados mediante un control Data. Se comenzó a exponer que no es necesario usar uncontrol Data para acceder a leer datos, añadir registros o cambiar su contenido. Y es más.Comenzaremos ahora a ver que el control Data pese a que puede evitarnos gran cantidad delíneas de código, nos hace perder el control respecto al programa. Es normal. El control Datase ha desarrollado para realizar un trabajo muy estándar. Si nuestra aplicación se separa unpoco de lo normal, lo mas probable es que necesitemos realizar las operaciones mediantecódigo. Esto no quiere decir que el Data haya que dejarlo en desuso. Será necesario enaquellas aplicaciones en las que se va a usar un control DBGrid, pues como se recordará,mediante el uso de un control Data metemos en memoria RAM todo el contenido de la base dedatos relativo al Recordset que hemos creado.
El control Data será necesario en aquellasaplicaciones donde utilicemos un DBGrid, un DBList o un DBCombo.
Veremos masadelante que también será necesario cuando queramos
guardar imágenes
en una Base deDatos.
El control Data también permite consultas más rápidas a la BD. El hecho de guardar elcontenido completo del Recordset en la memoria hace que cualquier consulta sea más rápida.Eso sí, estamos empleando mucha más memoria RAM.Pero en este capítulo vamos a ver como se pueden manejar bases de datos utilizando otrosobjetos de acceso a datos. Concretamente los objetos
DAO
.- (
D
ata
A
ccess
O
bjet).Los objetos DAO utilizan el
Motor de Bases de Datos Jet
de Microsoft y trabajandirectamente sobre el fichero que contiene la base de datos. Existen otros objetos de acceso adatos, como ha podido ver en el capítulo anterior, que no trabajan directamente sobre elfichero, sino sobre una conexión ODBC que enlaza con la base de datos. Son los objetos RDOy ADO, cuyo estudio se realizará en capítulos posteriores. Estos últimos tipos son masmodernos, pero no tienen algunas prestaciones que tienen los DAO, debido precisamente aque no trabajan directamente sobre el fichero. Centrémonos sobre los objetos DAOEstos objetos, pese a que no tienen representación en la interface gráfica, son objetos VisualBasic como los demás, y nos podremos referir a ellos por su nombre como hacíamos contodos los controles. Eso sí, debemos declararlos como se declaran las variables, y siguensiendo válidos los criterios de declaración de variables en cuanto al ámbito de aplicación. Sideclaramos un DAO en un procedimiento, no nos podremos referir a él fuera de eseprocedimiento. Si queremos que sea válido en toda la aplicación deberemos declararlo en lasección de declaraciones de un módulo, o en la sección de declaraciones de un formulario sifuese suficiente ese ámbito para nuestra aplicación.La primera sorpresa suele ocurrir a la hora de declarar un objeto. Por ejemplo, para declarar un objeto tipo DataBase debemos hacerlo con la siguiente declaración:
Dim MiBaseDatos As DataBase
Y al ejecutar el programa puede ocurrirle el siguiente error:
Error de compilación. No se hadefinido el tipo definido por el usuario.
Lo que le está ocurriendo es que su programa no conoce el tipo de variable DataBase. Paraque la conozca, debe agregarle una referencia. Vaya a
Proyecto | Referencias …
de la barrade menú y seleccione
Microsoft DAO 3.51 Objet Library
Haga click en Aceptar y ya tieneagregada esa referencia a su programa. Agregar una referencia significa que le ha dicho a suprograma que puede hacer uso de una colección de DLLs donde podrá encontrar la definicióndel objeto o la variable que no encuentra. Ahora ya no le dará el error anterior, pues en esaLSB Visual Basic - Guía del Estudiante Capítulo 12 Página 1
 
DLL que acaba de agregarle a su programa está la explicación al secreto de lo que es unobjeto DataBase.Verá que hay mas referencias parecidas a
Microsoft DAO 3.51
. (Las versiones 2.0, 2.1,2.5/3.5, y si ha instalado Access2000 tendrá la 3.6) Existen tantas versiones distintas comoversiones de
Access
. En realidad esta DLL no es mas que un componente de Access quepodemos usar, al igual que lo hace Access, para gestionar una base de datos. Debe elegir laversión mas alta, pero con cuidado. La versión 3.5 corresponde a la versión de Access 97.Cuando cree con su programa una base de datos con esta versión, no podrá abrirla conAccess 2.0 No se olvide de la teoría de la compatibilidad de Microsoft, que dice que cualquier versión que Microsoft considere obsoleta no debe reconocer los datos guardados por versionesmás modernas del mismo programa. Piense si es posible que alguien que vaya a abrir unabase de datos guardada con su aplicación dispone de una versión anterior de Access. Por ejemplo, cuando se está escribiendo este libro, está recién aparecido Access 2000. ¿Cree quees oportuno en estos momentos, en los que todavía se está introduciendo en muchos usuariosAccess 97 usar una DLL que nos cree bases de datos que solamente puedan ser abiertas por Access 2000?.
La versión Microsoft DAO 3.6 corresponde a Access 2000. Si ha instalado este programa leaparecerá esa referencia en la lista de referencias. No se sorprenda si antes de instalar  Access 2000 no tenía esa referencia y después de la instalación sí. Si crea una BD con laversión 3.6 no podrá abrirla con Access 97 ¡Esta es la compatibilidad hacia delante deMicrosoft! 
Objetos DAO de acceso a datos
Son muchos y tienen estructura jerárquica. Es importante resaltar lo de su estructura jerárquica, ya que como verá, un objeto DAO crea los objetos DAO inmediatamente inferioresen jerarquía.Hay que señalar que las colecciones de estos objetos DAO son a su vez objetos de acceso adatos. Esto hay que explicarlo un poco mejor. Por ejemplo, un objeto
Database
es un objetoDAO que representa una base de datos abierta. Al objeto que agrupa a todas las bases dedatos abiertas en ese momento le llamamos
Objeto Databases
. Si tenemos dos bases dedatos abiertas en un determinado momento, el objeto Databases contendrá dos elementos.Todos los objetos DAO excepto el
dbEngine
tienen colecciones. Es lógico. El dbEngine, comoverá mas adelante, es precisamente el
Motor de Bases de Datos Jet
y solamente existe uno.Comenzaremos precisamente por él la explicación de los objetos DAO.El
dbEngine
es el motor Jet. Y como vimos en el capítulo anterior, la versión 3.5 puedetrabajar directamente sobre el fichero de la base de datos o a través de una conexión ODBC.En el primer caso decimos que está trabajando en el
espacio de trabajo Microsoft Jet
Si lehacemos trabajar a través de ODBC decimos que estamos trabajando en el
espacio detrabajo ODBCDirect
Los objetos que emplea en cada uno de los espacios de trabajo pueden verse en las figuras20.1 y 20.2. Puede observarse que tiene muchos mas objetos en el espacio de trabajoMicrosoft Jet que en el de ODBCDirect. Es lógico. Con el primero nos permite
CREAR
basesde datos, y por lo tanto necesita tener objetos tales como el Tabledef, Index o Relation. Lo veráun poco mas adelante.El objeto dbEngine tiene los siguientes métodos, propiedades y coleccionesMétodos
CreateWorkspace
,
CompactDatabase
,
RepairDatabase, Idle, RegisterDatabase
Propiedades
DefaultPassword
,
DefaultUser 
,
IniPath
,
LoginTimeout
,
Version
Colecciones
Errors
,
Properties
,
Workspaces
 Veremos estos métodos y propiedades según vayamos avanzando en el capítuloLSB Visual Basic - Guía del Estudiante Capítulo 12 Página 2
 
Fig. 20.1 Objetos DAO para el
espacio de trabajo Microsoft Jet
En esta figura pueden verse los objetos y sus colecciones. Las colecciones llevan el nombreen plural. Parece un poco complicado, y posiblemente lo será. Lo cierto es que para el trabajoque se hace normalmente con bases de datos este diagrama queda bastante reducido. No seextrañe tampoco de ver que objetos como el
Fields
y el
Field
existen en varios niveles. Loverá mucho mejor mas adelante.LSB Visual Basic - Guía del Estudiante Capítulo 12 Página 3

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->