Download VISUAL BASIC Y ACCESO A BASES DE DATOS MEDIANTE ADO

Document related concepts
no text concepts found
Transcript
VISUAL BASIC Y ACCESO A BASES DE DATOS MEDIANTE ADO
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.
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
1
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.
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
2
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
adBoolean
adChar
adCurrency
adDate
adDecimal
adDouble
adInteger
adSmallInt
adTinyInt
adVarChar
adVariant
adParamInput
adParamInputOutput
adParamOutput
adParamReturnValue
adParamUnknown
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.
3
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.
4