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


Introduccin
El propsito de este tutorial es servir como resumen o gua de referencia rpida 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 debera suponerle ningn problema la comprensin 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 conexin
Lo primero que debemos hacer es aadir las referencias de acceso a datos. Para ello, nos movemos a Proyecto Referencias y una vez all aadimos los Microsoft ActiveX Data Objects 2.6 Library. Una vez hecho esto, podemos proceder a escribir cdigo, creando las variables necesarias para establecer la conexin: Dim cnConex As ADODB.Connection La conexin mediante la cual accederemos a la base de datos. Dim cmdComando As ADODB.Command El comando o consulta a ejecutar en la conexin. Dim strCadenaConex As String La cadena que indica el formato, ubicacin, etc. de la base de datos Dim rsLista As ADODB.Recordset El conjunto de registros donde se almacenarn los resultados de la consulta. Dim parParametro1 As ADODB.Parameter Los distintos parmetros externos que utilizaremos en la consulta. Cuando ya tengamos todas las variables definidas, pasamos a preparar los parmetros para la conexin: Set cnConex = New ADODB.Connection Instanciamos la conexin.

Visual Basic y acceso a bases de datos mediante ADO

www.lawebdeprogramacion.com

strCadenaConex = "Provider=Microsoft.Jet.OLEDB.4.0; & _ USER ID=nombreusuario; & _ PASS=contrasea; & _ Data Source=c:\basdedatos.mdb" Configuramos la cadena de conexin si vamos a acceder a una base de datos de Access. strCadenaConex = "Provider=SQLOLEDB.1; & _ USER ID=nombreusuario; & _ PASS=contrasea; & _ 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 conexin la cadena de conexin. cnConex.Open Y por ltimo abrimos la conexin.

Creacin de la consulta
Una vez preparada la conexin, procedemos a preparar el comando: Set cmdComando = New ADODB.Command Instanciamos el comando. Comando.ActiveConnection = cnConex Le indicamos a que conexin 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 parmetro, indicando el campo de SQL al que corresponde, el tipo de datos, tipo de parmetro y el valor/variable.

Ejecucin de la consulta
Una vez preparado tambin el comando, procedemos a ejecutarlo y guardar sus resultados: cmdComando.Execute Si nuestra consulta no devuelve datos, ejecutamos el comando.

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 conexin (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 tambin el RecordSet.

Anexo I: tipos de datos y tipos de parmetros


Tipos de datos ms comunes
adBinary adBoolean adChar adCurrency adDate adDecimal adDouble adInteger adSmallInt adTinyInt adVarChar adVariant

Tipos de parmetros
adParamInput adParamInputOutput adParamOutput adParamReturnValue adParamUnknown

Visual Basic y acceso a bases de datos mediante ADO

www.lawebdeprogramacion.com

Anexo II: Resumen bsico 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 tambin podemos poner campo1 LIKE [patrn1] (Este conjunto de condiciones equivale a Condicin en las siguientes sentencias SQL) Al indicar un campo de ordenacin, si aadimos DESC detrs 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 ms registros de una tabla. Sintaxis: UPDATE tabla SET campo1=valor1,campo2=valor2, WHERE condicin

Sentencia DELETE
Borra uno, varios o todos los registros de una tabla. Sintaxis: DELETE FROM tabla WHERE condicin Notas: Si no especificamos una condicin, borrar todos los registros de la tabla

También podría gustarte