Está en la página 1de 4

Visual Basic y acceso a bases de datos mediante ADO www.lawebdeprogramacion.

com

VISUAL BASIC Y ACCESO A BASES DE DATOS MEDIANTE ADO

Introducción
El propósito de este tutorial es servir como resumen o guía de referencia rápida para aquellas personas
que empleen Visual Basic para acceder a bases de datos, y utilicen el modelo ADO.

Las explicaciones son breves, aunque hay abundantes ejemplos a lo largo de todo el texto, por lo que
para un usuario que tenga algo de experiencia en acceso a bases de datos mediante VB no debería
suponerle ningún problema la comprensión del texto.

Nota: Se recomienda encarecidamente programar con Option Explicit activado, ya que de esta
forma evitaremos errores por variables incorrectas, etc.

Apertura de la conexión
Lo primero que debemos hacer es añadir las referencias de acceso a datos. Para ello, nos movemos a
Proyecto → Referencias y una vez allí añadimos los Microsoft ActiveX Data Objects 2.6 Library.

Una vez hecho esto, podemos proceder a escribir código, creando las variables necesarias para
establecer la conexión:

Dim cnConex As ADODB.Connection

La conexión mediante la cual accederemos a la base de datos.

Dim cmdComando As ADODB.Command

El comando o consulta a ejecutar en la conexión.

Dim strCadenaConex As String

La cadena que indica el formato, ubicación, etc. de la base de datos

Dim rsLista As ADODB.Recordset

El conjunto de registros donde se almacenarán los resultados de la consulta.

Dim parParametro1 As ADODB.Parameter


Los distintos parámetros externos que utilizaremos en la consulta.

Cuando ya tengamos todas las variables definidas, pasamos a preparar los parámetros para la conexión:

Set cnConex = New ADODB.Connection

Instanciamos la conexión.

1
Visual Basic y acceso a bases de datos mediante ADO www.lawebdeprogramacion.com

strCadenaConex = "Provider=Microsoft.Jet.OLEDB.4.0;” & _


“USER ID=nombreusuario;” & _
“PASS=contraseña;” & _
“Data Source=c:\basdedatos.mdb"

Configuramos la cadena de conexión si vamos a acceder a una base de datos de Access.

strCadenaConex = "Provider=SQLOLEDB.1;” & _


“USER ID=nombreusuario;” & _
“PASS=contraseña;” & _
“Initial Catalog=nombrecatalogo;” & _
“Data Source=basdedatos"

O la configuramos de esta otra forma si vamos a acceder a una base de datos de SQL.

cnConex.ConnectionString = strCadenaConex

Indicamos a la conexión la cadena de conexión.

cnConex.Open

Y por último abrimos la conexión.

Creación de la consulta
Una vez preparada la conexión, procedemos a preparar el comando:

Set cmdComando = New ADODB.Command

Instanciamos el comando.

Comando.ActiveConnection = cnConex

Le indicamos a que conexión pertenece.

Comando.CommandText = "Consulta SQL”

Establecemos la consulta que ejecutará el comando.

Set parParametro1 = cmdComando.CreateParameter("campo", tipodedatos,


adParamInput, , “valor”)
cmdComando.Parameters.Append parParametro1

Configuramos el parámetro, indicando el campo de SQL al que corresponde, el tipo de datos, tipo de
parámetro y el valor/variable.

Ejecución de la consulta
Una vez preparado también el comando, procedemos a ejecutarlo y guardar sus resultados:

cmdComando.Execute

Si nuestra consulta no devuelve datos, ejecutamos el comando.

2
Visual Basic y acceso a bases de datos mediante ADO www.lawebdeprogramacion.com

Set rsLista = New ADODB.Recordset


Set rsLista = cmdComando.Execute

Si nuestra consulta devuelve datos, instanciamos el RecordSet y ejecutamos la sentencia indicando que
éste es el destinatario de los datos que devuelva.

Limpieza de variables
Una vez hallamos terminado de ejecutar la consulta y hallamos devuelto los datos, pasamos a liberar la
memoria ocupada por las distintas variables.

cnConex.Close

Cerramos la conexión (opcional, no es necesario hacerlo; si no lo indicamos VB lo hará por nosotros).

Set cnConex = Nothing


Set cmdComando = Nothing
Set strCadenaConex = Nothing

Eliminamos las variables.

Set rsLista = Nothing

Si ya hemos tratado los resultados devueltos, o los hemos trasladado a otra parte, eliminamos también el
RecordSet.

Anexo I: tipos de datos y tipos de parámetros

Tipos de datos más comunes Tipos de parámetros


adBinary adParamInput
adBoolean adParamInputOutput
adChar adParamOutput
adCurrency adParamReturnValue
adDate adParamUnknown
adDecimal
adDouble
adInteger
adSmallInt
adTinyInt
adVarChar
adVariant

3
Visual Basic y acceso a bases de datos mediante ADO www.lawebdeprogramacion.com

Anexo II: Resumen básico de sentencias de SQL

Sentencia SELECT

Devuelve un conjunto de registros.

Sintaxis:
SELECT campo/s
FROM tabla/s
WHERE campo1=valor1 AND campo2=valor2…
ORDER BY campo1,campo2,…

Notas:
• campo/s puede ser * (obtener todos los registros)
• En vez de campo1=valor1 también podemos poner campo1 LIKE [patrón1] (Este conjunto de
condiciones equivale a Condición en las siguientes sentencias SQL)
• Al indicar un campo de ordenación, si añadimos DESC detrás del nombre ordenaremos
descendentemente

Sentencia INSERT

Inserta un registro en una tabla.

Sintaxis:
INSERT INTO tabla
(campo1,campo2,…)
VALUES (valor1,valor2,…)

Notas:
• Si un campo no admite valores nulos (NULL), debemos obligatoriamente darle un valor no nulo.

Sentencia UPDATE

Actualiza los datos de uno o más registros de una tabla.

Sintaxis:
UPDATE tabla
SET campo1=valor1,campo2=valor2,…
WHERE condición

Sentencia DELETE

Borra uno, varios o todos los registros de una tabla.

Sintaxis:
DELETE FROM tabla
WHERE condición

Notas:
• Si no especificamos una condición, borrará todos los registros de la tabla

También podría gustarte