Conexión de visual basic a bases de datos. María Parra
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITECNICO
“SANTIAGO MARIÑO”.
EXTENSIÓN COL - CABIMAS
CONEXIÓN DE VISUAL BASIC 6.0
A BASES DE DATOS
Elaborado Por:
María Parra. CI: 28.486.926
Profesor:
Ángel Lugo
2. Paso a Paso de Cómo Conectar Visual Basic
a las siguientes bases de datos:
Conexión a Microsoft Access 2003:
Cadena de conexión, el primer ejemplo es para acceder a la base de datos
protegida con contraseña:
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=mibasededatosacces.mdb; Jet OLEDB:Database
Password=MiPass”
En este caso no tiene contraseña:
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=mibasededatosacces.mdb; Jet OLEDB:
Database”
Luego sería pasarle a visual basic 6.0 el resto para conectar, para ello
declaramos dos objetos el primero tipo conexión de base de datos y el otro de
registros RecordSet
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
A continuación los instanciamos y conectamos con la cadena de conexión
creada previamente para hacer el enlace con nuestro fichero de base de
datos en Access.
‘Crear los objetos
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset
‘Conecto con la base de datos
BD.Open ConexBD
Llegamos a este punto, es trabajar directamente con la base de datos usando
el objeto recordset para movernos por los registros, podríamos realizar una
consulta de esta manera:
Rs.Open “SELECT * FROM Almacen ORDER BY idAlmacen”, BD,
adOpenDynamic, adLockOptimistic
3. De esta manera nos traeríamos todos los registros contenidos en la tabla de
Almacen. Luego simplemente tendremos un objeto con la información que
podremos acceder tan fácil como:
Rs!Nombredelcampo
Código completo para conectarnos a una base de datos de Microsoft
Access con Visual Basic 6 (vb6):
Dim ConexBD as string
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=mibasededatosacces.mdb; Jet
OLEDB:Database”
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
‘Crear los objetos
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset
‘conecto con la base de datos
BD.Open ConexBD
Rs.Open “SELECT * FROM Almacen ORDER BY idAlmacen”, BD,
adOpenDynamic, adLockOptimistic
msgbox Rs!Nombredelcampo
Conexión a Microsoft SQL Server 2008:
Añadimos las referencias:
Este es el primer paso que debemos hacer antes de intentar realizar cualquier
otra cosa, si se quiere hacer algún tipo de uso de códigos que manejan base de
datos, se le debe hacer una referencia en nuestro proyecto, si no la hacemos
nuestro código no compilará.
Para esto le daremos click a donde dice proyecto en nuestra barra de
herramientas y abriremos la opción referencias.
4. Luego de entre las opciones que nos aparecen, deberemos buscar marcar las
siguientes referencias.
Microsoft ActiveX data objects 6.1 Library
Microsoft ActiveX data objects Recordset 6.0 Library
5. Creando el módulo de conexión:
Se debe crear un módulo de conexión para que nuestro provecto se conecte con
la base de datos hecha para nuestro provecto.
Para esto le daremos click a donde dice proyecto en nuestra barra de
herramientas y abriremos la opción agregar modulo.
Click en abrir
6. Una vez agregado el modulo, podremos visualizarlo en el cuadro derecho de la
pantalla donde esta nuestro árbol de objetos del proyecto.
Le daremos doble click a nuestro modulo para ingresar a la vista de
código la cual encontraremos totalmente en blanco, acá es donde
empezaremos a programar la conexión.
7. Lo primero que haremos será declarar una variable global que representara la
conexión a nuestra base de datos.
Escribiremos en cualquier parte del módulo la siguiente línea de código.
Global cn As ADODB.Connection
Una vez escrito esta línea, daremos un espacio de por medio y empezaremos a
codificar una función que nos permitirá conectarnos a la base de datos, para
esto necesitaremos escribir la siguiente línea de código.
Public Function Conectar()
Set cn = New ADODB.Connection
cn.ConnectionTimeout = 50
If cn.state = 0 Then
cn.Open "tu cadena de conexión"
Conectar = True
End If
End Function
¿Cuál es tu cadena de conexión?
Para crear nuestra cadena de conexión necesitaremos agregar
temporalmente un componente que nos ayudara bastante.
Para esto, dirijan su ratón hacia la barra izquierda de la pantalla y den click
derecho, aparecerá un menú desplegable donde deberán escoger la opción
componentes
8. Luego, en la ventana de controles, busquen y marquen el componente
Microsoft ADO Data Control 6.0 (OLEDB)
9. Una vez hecho esto, den click en aceptar y un nuevo icono con la forma de una
pequeña cabeza amarilla aparecerá en la barra izquierda de componentes.
Selecciónenla y como si se tratara de cualquier otro objeto, formen un
recuadro en cualquier parte de nuestro formulario.
Con esto tendremos nuestra primera barra ADO. es una barra que nos ayuda
mucho a lo que es el movimiento de información de una base de datos dentro de
nuestro proyecto, pero en este tutorial solo lo utilizaremos para generar nuestra
cadena de conexión. Daremos click derecho a nuestra barra ADO y se abrirá un
menú desplegable, en ella escogeremos la opción Propiedades de ADOD
10. Una vez dentro de esta opción, podrán notar que en la parte inferior de la ventana de la
pestaña general se encuentra un espacio de texto en blanco con el título Usar cadena de
conexión junto a un botón que dice Generar.
Daremos click al botón generar para empezar con el procedimiento de
generar nuestra cadena de conexión, nos aparecerá la siguiente ventana en
donde se nos pedirá escoger el tipo de proveedor de base de datos a la cual
deseamos conectarnos, hay varios para escoger, pero como estamos utilizando
SQL server, entonces escogeremos Microsoft OLE DB Provider for SQL Server
11. Luego se nos abrirá la siguiente ventana en donde deberemos escoger el
nombre de nuestro servidor sql, por defecto, nuestro visual basic debería de ser
capaz de reconocer nuestro servidor para seleccionarlo, pero asegúrense de que
el nombre este bien escrito.
Luego marcaremos la opción de Usar la seguridad integrada de Windows NT,
con esto no será necesario establecer usuarios y contraseñas.
Por ultimo escogeremos la base de datos a la cual nos queremos conectar, si el
nombre de nuestro servidor está bien escrito, nuestro visual basic reconocerá las
bases de datos que están almacenadas en el servidor seleccionado.
Una vez hecho esto le daremos al botón de probar conexión y si todo está en
buenas condiciones, les aparecerá un mensaje diciendo que la prueba de
conexión fue satisfactoria.
12. le daremos a aceptar y volveremos de nuevo a la ventana de Propiedades de
ADODC y podremos darnos cuenta que ahora en el texto que antes se
encontraba vacío, está lleno con una línea de código, esta línea de código es
nuestra cadena de conexión, solo deben copiarla y pegarla en los sitios donde la
necesiten.
13. Con esto ya tenemos una función de conexión establecida con nuestro proyecto,
probemos de inmediato, lo mejor que podemos hacer en nuestros sistemas es
que estos no sean capaces de iniciar sin antes asegurarse que existe una
conexión con nuestra base de datos.
Para esto, daremos un espacio de por medio en nuestro código recién hecho y
escribiremos este nuevo código que realizara una función de arranque primaria
antes de iniciar nuestro proyecto totalmente, con esta función probaremos si
nuestro proyecto se conecta correctamente a nuestra base de datos.
Public Sub Main()
Call Conectar
tu_formulario_de_inicio.Show
End Su
14. Para que esta función realice su labor, tendremos que asignarla como objeto de
inicio en nuestro proyecto, para esto deberemos dar click a proyecto en nuestra
barra de herramientas y escogeremos la opción propiedades de "nombre de tu
proyecto"
Luego, en la caja de opciones que nos muestran los objetos de inicio,
seleccionaremos el que acabamos de crear.objeto sub main
15. Le daremos click al botón de aceptar y luego podemos empezar a compilar
nuestro proyecto.
Conexión a MySQL:
En principio no es muy complejo, lo primero que debemos de hacer, es
descargar un controlador ODBC que nos proporcionan gratuitamente desde
la web de MySQL e instalarlo, al tiempo de este tutorial es la descarga
disponible es la versión 5.1.6.
Una vez instalados estos drivers, solo debemos utilizar la cadena de conexión en
nuestro VB
Dim CON As ADODB.Connection
Dim Comd As ADODB.Command
Dim Rs As ADODB.Recordset
Public Function Conectar_bd()
Set CON = New ADODB.Connection
Set comd = New ADODB.Command
Set Rs = New ADODB.Recordset
16. CON.CommandTimeout = 40
CON.CursorLocation = 1
CON.Open “DRIVER={MySQL ODBC 3.51 Driver};DATABASE=” &
NomBd & “;SERVER=” & Servidor & “;UID=” & Usuario & “;password=”
& Pwd & “ ;PORT=3306;”
Set Comd.ActiveConnection = CON
End Function
En la función anterior, declaramos CON, que será la conexión de la base de
datos, el Comd es la que ejecutará el comando, y Rs, el RecordSet, para la
utilización de los registros, dependiendo del proyecto, podéis declararlas como
publicas para todo el proyecto y reutilizarlas, o en la función que veáis que se
utilizará, yo suelo utilizarlas Public para usar por todo el proyecto, ya que son
variables a reutilizar con la conexión y no han de variar.
Además, tenemos 4 variables que no hemos declarado y que deberéis declarar
vosotros y darle el valor que corresponda, estas son:
NomBD: El nombre de la base de datos. (ej. Datos)
Servidor: El nombre o dirección Ip de nuestro servidor de MySQL. (ej. Localhost)
Usuario: El usuario para acceder a nuestra base de datos de MySQL. (ej.
vertutoriales)
Pwd: La clave de acceso a nuestro servidor de MySQL. (ej. ######)
El puerto por defecto es el 3306, pero tambien podeis modificarlo si usais
versiones anteriores, o simplemente teneis otro puerto abierto para el uso de
la base de datos.
Ya para terminar os dejo el código que debeis utilizar una vez conectados con la
base de datos de MySQL, para que solo tengais que modificarlo a vuestras
necesidades
Llamo a la función de conexión a la base de datos
Conectar_bd
‘Le digo la consulta a ejecutar al comando
17. comd.CommandText = “SELECT * FROM Usuarios”
Rs.CursorLocation = adUseClient
Rs.Open comd, , 1, 1
Con estas lineas de código ya tendríais la conexión y la forma de realizar
consultas a vuestra base de datos MySQL atacando con Visual Basic 6. Ya solo
quedaría utilizar el Rs de la manera normal.
Para poder usar este código debeis de registrar un par de referencias:
Microsoft Data Objets 2.0 y Microsoft ActiveX Data Objets 2.