Académique Documents
Professionnel Documents
Culture Documents
1.Presentacin
LabibliotecadeobjetosADO(ActiveXDataObjects)lepermiteescribirunaaplicacinqueaccedeadatossituadosen
unservidordebasesdedatosymanejarstasmedianteunproveedorOLEDB.
ADO tiene la ventaja de ser fcil de usar, con buen rendimiento y usando poca memoria y espacio de disco. ADO
ofrecelasfuncionalidadesbsicasquepermitencrearaplicacionescliente/servidoryaplicacionesWeb.
Para poder utilizar la biblioteca de objetos ADO, es necesario seleccionar la referencia Microsoft ActiveX Data
Objects 6.0 Library en la lista de referencias a las bibliotecas de objetos. Si esta referencia no est disponible,
debeseleccionarelarchivoMSADO15.dllmedianteelbotndecomandoExaminar.Generalmente,estearchivoest
ubicadoeneldirectorioC:\Archivosdeprograma\CommonFiles\System\ADO.
Igualmente puede utilizar las extensiones ADO seleccionando la referencia Microsoft ADO Ext 6.0 for DLL and
Security(archivoMSADOX.DLL).Estasextensioneslepermitenaccederaobjetoscomplementarios(catalgo,users,
views)delmodeloADO.
El
archivo
de
ayuda
ADO210.chm
ubicado
en
el
directorio
C:\Archivos
de
Programa\Common
Files\MicrosoftShared\Office 15\1036, le permite obtener informacin detallada sobre la utilizacin de los modelos
ADO.
2.ADOyOLEDB
OLE DB es una tecnologa que permite un acceso uniforme a los datos almacenados en diversas fuentes de
informacin:basesdedatosrelacionalesonorelacionales,correo,sistemasdearchivosPrcticamentetodoslos
datosdelaempresasonaccesiblesmedianteOLEDB.
ADO (ActiveX Data Objects) es la interfaz de programacin utilizada para acceder a los datos de todos los
proveedoresdedatosOLEDB.
Arquitecturatecnolgica
- 1-
LosproveedoresdedatosoProviderssoncontroladoresquepermitencomunicarconlosorgenesdedatos.
3.JerarquadelosobjetosADO
- 2-
4.ModelodebasedeprogramacinADO
ADOlepermiteejecutarlasiguientesecuenciadeacciones:
establecerunaconexinaunabasededatosOLEDBoODBCpormediodelobjetoConnection,
crearuncomandoquepermitaenviarunaconsultaSQLalservidorutilizandoelobjetoCommand,
ejecutarelcomando.Sielcomandodevuelvefilas,almacenarlasenunobjetoRecordset,
utilizarlosdatosdelobjetoRecordset:ordenar,filtrar,modificar,eliminarlosregistros,
actualizar los datos: validar los eventuales cambios del objeto Recordset, incorporar las actualizaciones en una
- 3-
transaccin,
l
sisehautilizadounatransaccin:aceptarodesecharlasactualizacionesaportadasdurantesta.
Ejemplo
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
cnn.BeginTrans
rs.UpdateBatch
5.DescripcindelosobjetosADO
- 4-
Connection
Representaunaconexinconunorigendedatos.
Command
Defineuncomandoespecficoquedebeejecutarsesobreunorigendedatos.
Recordset
Record
Funciona esencialmente como un objeto Recordset de una sola lnea. El origen de los
datos en un objeto Record puede ser un comando que devuelve una lnea de datos a
partirdelservidor.LautilizacindeobjetosRecordenlugardeRecordsetpararecibirlos
resultados de una consulta que devuelve una sola lnea de datos elimina el exceso de
tratamientovinculadoalainstanciacindelobjetoRecordset,queesmscomplejo.
Stream
Proporciona el medio para leer, escribir y gestionar un flujo de bytes formado por texto
odatosbinarios.
6.LascoleccionesADO
Parameters
ColeccindetodoslosobjetosParameterdeunobjeto Command.ElobjetoParameter
representa un parmetro o argumento asociado a un objeto Command basado en una
consultaconparmetrosounprocedimientoalmacenadoconparmetros.
Properties
Errors
Coleccin de todos los objetos Error creados en respuesta a un error nico vinculado al
proveedorOLEDB.Elobjeto Error contiene informaciones relativas a un error de acceso
alosdatos.
Fields
7.LosobjetosConnection
Mtodos
BeginTrans
Empiezaunanuevatransaccin.
Cancel
Close
Cierraunaconexinabierta,ascomotodoslosobjetosquedependendesta.
CommitTrans
Guardaloscambiosefectuadosalosdatosydetienelatransaccinencurso.
Execute
Open
Abreunaconexinaunorigendedatosparapoderejecutarcomandos.
OpenSchema
RollbackTrans
Anula los cambios realizados a los datos durante la transaccin en curso y detiene
estaltima.
Propiedades
Attributes
DefineodevuelveunaovariascaractersticasdeunobjetoConnection.Elvalor
pordefectoescero.
CommandTimeout
Indicaelintervalodeespera,ensegundos,quedeberespetarsealintentarla
ejecucin de un comando, antes de interrumpir el intento y generar un
- 5-
mensajedeerror.Elvalorpordefectoes30.
ConnectionString
Defineodevuelvelainformacinutilizadaparaestablecerunaconexinconel
origendedatos.
ConnectionTimeout
CursorLocation
Defineodevuelveeltipodecursorquedebeemplearsepordefectoparaesta
conexin(cursordelladoclienteocursordelladoservidor).
DefaultDatabase
IndicalabasededatospordefectodeunobjetoConnection.
IsolationLevel
IndicaelniveldeaislamientodeunobjetoConnection.
Mode
IndicalospermisosdemodificacindedatosdeunobjetoConnection.
Provider
IndicaelnombredelproveedorOLEDBdelobjetoConnection.
State
IndicasielobjetoConnectionestabiertoocerrado.Slolectura.
Version
IndicaelnmerodeversinADO.Slolectura.
Ejemplo
Creacindeunareferenciasobrelabasededatosactual.
Aperturadeunabasededatosexterna.
UtilizacindelosmtodosCommitTransyRollbackTransparaconfirmaroanularlaactualizacinderegistros.
Abre la conexin.
Inicio de la transaccin
cnc.BeginTrans
- 6-
cnc.CommitTrans
Else
cnc.RollbackTrans
End If
8.LosobjetosCommand
Mtodos
Cancel
CreateParameter
CreaunnuevoobjetoParameteryespecificasuspropiedades.
Execute
Propiedades
ActiveConnection
IndicaelobjetoConnectionalqueestasociadoelcomando.
CommandText
ContieneeltextodelcomandoquedebeenviarsealproveedorOLEDB.
CommandTimeout
Indicaelintervalodetiempo(ensegundos)quedeberespetarsealintentarla
ejecucin del comando, antes de interrumpir el intento y generar un mensaje
deerror.Elvalorpordefectoes30.
CommandType
IndicaeltipodelobjetoCommand.
Name
IndicaelnombredelobjetoCommand.
Prepared
State
IndicasielobjetoCommandestabiertoocerrado.Enslolectura.
Ejemplo
UtilizacindelobjetoCommandparacrearunconjuntoderegistros.
Abre la conexin
cnc.Open "Provider=Microsoft.ACE.OLEDB.15.0.;" _
& "Data Source = C:\Presupuesto\Presupuesto.accdb;PersistSecurity
Info=False"
- 7-
en la ventana Inmediato
9.LosobjetosRecordset
Mtodos
AddNew
CreaunnuevoregistroparaunobjetoRecordsetquepuedaactualizarse.
Cancel
CancelalaejecucindeunaoperacinOpenasncronaenespera.
CancelBatch
Cancelaunaactualizacinporlotesenespera.
CancelUpdate
Clone
CreaunobjetoRecordsetduplicadoapartirdeunobjetoRecordsetexistente.
Close
Cierra el objeto Recordset abierto, as como todos los objetos que dependen
deste.
CompareBookmarks
Delete
Eliminaelregistroactualoungrupoderegistros.
Find
GetRows
ExtraevariosregistrosdeunobjetoRecordsetyloscolocaenunamatriz.
GetString
DevuelveunobjetoRecordsetenformadecadena.
Move
DesplazalaposicindelregistroactualenunobjetoRecordset.
MoveFirst
Desplaza la posicin del registro actual hasta el primer registro del objeto
Recordset.
MoveLast
Desplaza la posicin del registro actual hasta el ltimo registro del objeto
Recordset.
MoveNext
Desplaza la posicin del registro actual hasta el registro siguiente del objeto
Recordset.
MovePrevious
Desplaza la posicin del registro actual hasta el registro anterior del objeto
Recordset.
NextRecordset
- 8-
Open
Abre un cursor que representa los registros de una tabla o los resultados de
unaconsulta.
Requery
Resync
Save
GuardaelobjetoRecordsetenunarchivo.
Seek
Supports
DeterminasiunobjetoRecordsetsoportauntipodefuncionalidadparticular.
Update
GuardaloscambiosaportadosalregistroactualdelobjetoRecordset.
UpdateBatch
Guardaeneldiscotodaslasactualizacionesporlotesenespera.
Propiedades
AbsolutePage
Indicalapginadelregistroactual.
AbsolutePosition
IndicalaposicinordinaldelregistroactualdentrodeunobjetoRecordset.
ActiveCommand
IndicaelobjetoCommandquehacreadoelobjetoRecordsetcorrespondiente.
Slolectura.
ActiveConnection
IndicaaquobjetoConnectionperteneceelobjetoRecordset.
BOF
Indica si el puntero de registro est posicionado antes del primer registro del
objetoRecordset.Slolectura.
Bookmark
CacheSize
CursorLocation
Defineodevuelveeltipodecursorpordefectoparaestaconexin(cursorlado
clienteocursorladoservidor).
CursorType
IndicaeltipodecursorutilizadoparaesteobjetoRecordset.
DataMember
Indica el nombre del miembro de datos que debe extraerse del objeto
definidoporlapropiedadDataSource.Slolectura.
DataSource
Indica que un objeto que contiene datos debe representarse como objeto
Recordset.Slolectura.
EditMode
Indicaelestadodemodificacindelregistroactual.Slolectura.
EOF
Indicasielpunteroderegistroestposicionadodespusdelltimoregistroen
elobjetoRecordset.Slolectura.
Filter
DefineunfiltrodedatosenelRecordset.
Index
IndicaelnombredelndiceactualparaelRecordset.
LockType
Indicaeltipodebloqueodelosregistrosdurantelasmodificaciones.
MarshalOptions
Indicaquregistrossedevuelvenalservidor.
MaxRecords
IndicaelnmeromximoderegistrosquesedevuelvenaunobjetoRecordset
desdeunamismaconsulta.Elvalorpordefectoescero(nohaylmite).
PageCount
IndicaelnmerodepginasdedatoscontenidasenelobjetoRecordset.Slo
lectura.
PageSize
IndicaelnmeroderegistroscontenidosenunapginadelRecordset.
Properties
ReferenciaalaColeccindelosobjetosPropertydelobjetoRecordsetactual.
- 9-
RecordCount
IndicaelnmeroderegistrosenelobjetoRecordset.Slolectura.
Sort
Source
IndicaelorigendelosdatosdeunobjetoRecordset.
State
Status
StayInSync
Ejemplo
TransformacinenmaysculasdeloscaracteresdelcampoCli_EmpresaenlatablaClientes.
UtilizacindelmtodoSeek:bsquedadeunclienteapartirdesucdigo.
strCodigoCli = _
- 10 -
.Index = "PrimaryKey"
Bsqueda
Registro no encontrado
If .EOF Then
MsgBox "Cliente no encontrado"
Else
Registro encontrado
MsgBox "Empresa: " & rstCli("Cli_Empresa")
End If
End With
rstCli.Close
cnc.Close
UtilizacindelmtodoFind:bsquedadelosclientescuyonombredeEmpresaempieceporunvalordeterminado.
Bsqueda
Registro no encontrado
If .EOF Then
MsgBox "Cliente no encontrado"
Else
Posicin actual
bkm = .Bookmark
.Find strCrit, 1, adSearchForward, bkm
Loop
End If
End With
rstCli.Close
cnc.close
- 11 -
10.LacoleccinFields
Mtodos
Append
AgregaunobjetoFieldaunacoleccinFields.
Delete
EliminaunobjetoFielddelacoleccinFields.
Refresh
ActualizalosobjetosFieldenlacoleccinFields.
11.LosobjetosField
Mtodos
AppendChunk
AgregadatosaunobjetoFielddetipobinarioodegrantamao.
GetChunk
Propiedades
ActualSize
Indicalalongituddelvalordeuncampo.Slolectura.
Attributes
IndicaunaovariascaractersticasdeunobjetoField.
DefinedSize
IndicaeltamaodelobjetoField.Slolectura.
Name
IndicaelnombredelobjetoField.
NumericScale
IndicalaescaladelosvaloresnumricosdelobjetoField.Slolectura.
OriginalValue
IndicaelvalordelobjetoFieldantesdelamodificacin.Slolectura.
Precision
IndicaelgradodeprecisindelosvaloresdetiponumricoenelobjetoField.
Slolectura.
Properties
ContienetodoslosobjetosPropertydeunobjetoField.
Type
IndicaeltipodedatosdelobjetoField.
UnderlyingValue
IndicaelvaloractualdelobjetoFieldenlabasededatos.Slolectura.
Value
IndicaelvalordelobjetoField.
12.LacoleccinParameters
Mtodos
Append
AgregaunobjetoParameteralacoleccinParameters.
Delete
EliminaunobjetoParameterdelacoleccinParameters.
Refresh
ActualizalosobjetosParameterenlacoleccinParameters.
Ejemplo
Muestralalistadetodosloscampos(nombreytipo)delatablaClientesenlaventanaInmediato.
- 12 -
Dim cnc As New ADODB.Connection
Dim rstCli As New ADODB.Recordset
Dim fld As ADODB.Field
13.LosobjetosParameter
Mtodos
AppendChunk
AgregadatosaunobjetoParameterdetipobinariootextodegrantamao.
Propiedades
Attributes
IndicaunaovariascaractersticasdeunobjetoParameter.
Direction
Name
IndicaelnombredelobjetoParameter.
NumericScale
IndicalaescaladelosvaloresnumricosdelobjetoParameter.
Precision
Properties
ContienetodoslosobjetosPropertydeunobjetoParameter.
Size
Indicaeltamaomximo,enbytesoencaracteres,deunobjetoParameter.
Type
IndicaeltipodedatosdelobjetoParameter.
Value
IndicaelvaloratribuidoalobjetoParameter.
14.LacoleccinProperties
Mtodos
Refresh
15.LosobjetosProperty
- 13 -
Propiedades
Attributes
IndicaunaovariascaractersticasdeunobjetoProperty.
Name
IndicaelnombredelobjetoProperty.Enslolectura.
Type
IndicaeltipodedatosdelobjetoProperty.
Value
IndicaelvalordelobjetoProperty.
16.LacoleccinErrors
Mtodos
Clear
EliminaelconjuntodelosobjetosErrordelacoleccinErrors.
Refresh
ActualizalosobjetosErrorapartirdelasinformacionesdelproveedorOLEDB.
Propiedades
Count
IndicaelnmerodeobjetosErrordelacoleccinErrors.Enslolectura.
Item
17.LosobjetosError
Propiedades
Description
DevuelvelacadenadescriptivaasociadaalobjetoError.Slolectura.
HelpContext
HelpFile
IndicaelnombredelarchivodeayudaasociadoalobjetoError.Slolectura.
NativeError
Number
Indicaelnmeroqueidentificademaneranicaelerrordelobjeto Error.Slo
lectura.
Source
Indicaelnombredelobjetoodelaaplicacinqueorigin elerror.Slolectura.
SQLState
Indica el valor devuelto por el proveedor OLE DB. Cadena de cinco caracteres
conformealanormaSQLANSI.Slolectura.
- 14 -