You are on page 1of 3

Conexion Visual.

net-Access
By Carlos Quintana
Voy a explicar sencillamente como conectar un programa desarrollado en Visual Basic.net con una base de datos de
Microsoft Access 2003 y dejare el cdigo completo de ejemplo

La base de datos se llama cinema.mdb, esta ubicada en disco c:\ y contiene la siguiente tabla

A continuacin se declararn los objetos necesarios en visual.net para la conexin con la tabla anterior
Importante antes de iniciar a codificar lo siguiente debe importarse la librera corresponiente en la parte
superior de la clase, de lo contrario nada del cdigo funcionara
Imports System.Data.OleDb

'Cadena de conexin y cadena de ubicacin de la base de datos
Dim cadenaConexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; "
Dim ubicacion As String = "Data Source=c:\cinema.mdb;"
Dim cadenaCompleta as String= cadenaConexion & ubicacion

'Objeto para establecer conexin
Dim conexion As OleDbConnection = New
OleDb.OleDbConnection(cadenaCompleta)

'Objeto para hacer posible la ejecucin de queries
Dim comando As OleDbCommand

'Objeto donde se guardan todos los datos regresados en
'caso de una consulta select
Dim resultados As OleDbDataReader


Una vez teniendo los objetos necesarios, se procede a ejecutar el siguiente query select * from usuario


'Procedo a crear un DataTable
'DataTable es una tabla interna del programa adecuada para
'Requerimientos del programa/programador
'En este caso guardare toda la informacion en un datatable
'Llamado usuario:

Dim usuario As New DataTable("usuario")
usuario.Columns.Add("Usuario")
usuario.Columns.Add("nombre")
usuario.Columns.Add("Contrasea")

'Todo debe funcionar con un capturador de excepciones,
'Puede que la base de datos o la tabla no existan, se truena el programa
'de esta manera se controla.

Try

'Abre la conexin con los parametros establecidos arriba.
conexion.Open()

'Crea un nuevo comando que usara el query y la conexion
'"select * from usuario, y usa la conexion con cinema.mdb"
comando = New OleDbCommand("select * from usuario", conexion)

'Meto los resultados obtenidos en este contenedor llamado
'resultados.
resultados = comando.ExecuteReader()

'Si tiene registros continuara
If resultados.HasRows Then

'Mientras existan mas registros por leer se continuara este ciclo
Do While resultados.Read

'en mi dataTable estoy agregando los campos
'columna 1= id_pregunta = resultados(0)
'columna 2= nombre = resultados(1)
'columna 3= contrasea = resultados(2)
usuario.Rows.Add(resultados(0), resultados(1),
resultados(2))

'Imprimo para ver que datos se leyeron de la tabla
MsgBox(resultados(0) & " " & resultados(1) & " " &
resultados(2))
Loop
'reinicia el ciclo hasta que pase por todos los registros

'Libero la memoria si es que se requiere
resultados = Nothing
End If

'Cierro la conexion
conexion.Close()

Catch ex As Exception
End Try

El cdigo anterior extrae de la base de datos, los datos contenidos en la tabla usuario
ahora, como insertar, actualizar o borrar registros de esa tabla:


Dim query as String
query="insert into usuario values (1,'nombre requerido','contrasea')"
'query="delete from usuario"
'query="update usuario set nombre='user'"

Try
conexion.Open()
comando = New OleDbCommand(query, conexion)

'Aqui es donde se ejecuta el comando
'IMPORTANTE
'Este metodo regresa el total de filas afectadas
'En caso de ser un insert, y se ejecut correctamente imprimir un numero 1
'En caso de update o delete depende de que tantos registros se actualizarn
'o borrarn
MsgBox(comando.ExecuteNonQuery())

conexion.Close()

Catch ex As Exception
End Try

El cdigo fue probado en Visual Studio 2008 y una base de datos Access 2003 exitosamente, eso fue todo por mi parte
esta vez, espero te sirva estimado lector
http://www.desarrolloinnovador.com/?page_id=84
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/296-
connectionstring-ado.htm
http://www.taringa.net/posts/ciencia-educacion/12153804/Usar-Access-con-Visual-Basic-Net-
2008.html
http://mvp-access.es/softjaen/bases/adonet/index.htm

You might also like