1. Jose Chaparro C.I: 29.950.939
Carrera 44: Ingeniería Electrónica
Corte 3: Trabajo de Visual Basic conectando a base de datos
Que es Visual Basic?
Visual Basic (Abreviado comúnmente como VB) es un lenguaje de programación de alte
nivel dirigido por eventos (como click, hover, leave, entre muchos otros). Fue desarrollado por
Alan Cooper para Microsoft en 1991. Es un dialecto de BASIC con muchos agregados que
modifican la forma de programar simplificando el trabajo con un ambiente de desarrollo que
aporte herramientas que faciliten los trabajos, otro ejemplo de este caso lo puede ser el lenguaje
de programación C# a C.
2. Que es una base de datos?
Una base de datos es un sistema que esta formado por una serie de conjuntos de datos
referentes a un mismo tema y estánalmacenados en un disco o servidor elcual permite elacceso
a los mismos. Estos conjuntos de datos se manipulan a través de programas o software que
permitan la utilización de estos de la manera que sea necesaria así como su modificación, ya sea
añadiendo, eliminando o alterando datos. Cada base de datos esta compuesta por una o mas
tablas que tienen filas que almacenan los datos de un objeto, ente o persona y a su vez columnas
que guardan un tipo de datos especifica de la entidad.
Como conectar una aplicación en Visual Basic a una base de datos?
Existen varias formas para conectar una aplicación en VB a una base de datos, estas
formas cambien considerando a que base de datos se quiera conectar y para su posterior
utilización hay diversas herramientas que ofrece VB para usarla. Los pasos generales para
conectar una app en VB a una base de datos para los siguientes programas que pueden crear y
manipular las bases de datos (SQL server, MySQL, Access, entre otros) son:
1.- Descargar las librerías necesarias para la conexión a la base de datos. Estas se pueden
encontrar por internet y descargar fácilmente (Access y SQL server no requieren descargarlas si
la versión es reciente).
3. 2.- Agregar las librerías al VB, esto se hace mediante el uso del “Imports” y el nombre de
la librería luego de haber puesto la referencia, esto se hace buscando el elemento por el
explorador de proyectos, click derecho sobre nuestro proyecto, dándole a agregar y a referencia
escogiendo la librería:
3.- Hacer uso de una cadena de conexión específica para la conexión que varía de un tipo
de base de datos a otra.
Posteriormente se explicaran los pasos específicos necesarios para la conexión según la
base datos.
Microsoft Access 2003 o versiones posteriores:
Paso 1: Luego de haber creado la base de datos habrá que
especificar si tendrá una contraseña (Para el ejemplo se considerara
una base de datos sin contraseña). Una vez se haya definido esto
habrá que importar las librerías a utilizar para la base de datos
mediante el “Imports” y especificar la librería para el OLE DB que es
la herramienta que nos permitirá la conexión a la base de datos.
Imports System.Data.Oledb
4. Paso 2: Utilizar la cadena de cadena de conexion específica para la conexión a Access,
esto puede cambiar un poco de una versión de Access a otra. Para este caso se utilizara la
cadena de conexion para Access 2003 la cual es “Provider=Microsoft.Jet.Oledb.4.0; Data
Source=C:BasesDatosPrueba.mdb" donde Data Source es la ubicación del archivo que esta
almacenado en la ruta “C”, dentro de la carpeta “BasesDatos” y la base de datos se llama
“Prueba”. El nombre de la variable para el ejemplo se llamara “Connect”
Dim Connect As New
OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=
C:BasesDatosPrueba.mdb ")
Paso 3: Hacer una función que vaya a abrir la conexión a la base de datos desde el VB. Se
utilizara un try para la apertura con un catch para atrapas las excepciones y mostrarlos como
mensaje (Errores que no permitieron la conexión a la base de datos):
Try
Connect.Open()
MsgBox("Conexion a la base de datos exitosa")
Catch ex As Exception
MsgBox("Error de conexion: " & ex.ToString)
End Try
Paso 4: Llamar la funcion creada en alguna parte de la app, a su vez en lugar de crear
una función en un modulo separado se puede crear la conexión dentro de una form inicial, con
el código siguiente se llamara apenas inicie la app:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Connect()
End Sub
MySQL (Cualquier versión):
Paso 1: Luego de haber agregado las
referencias por medio del explorador de proyectos
siguiendo las instrucciones dadas previamente hay
que importar las librerías a utilizar de MySQL usando
el “Imports” de la siguiente manera:
Imports MySql.Data.MySqlClient
5. Paso 2: Una vez importada las librerías necesarias se proseguirá a usar la cadena de
conexión que requiere MySQL, esta cadena tiene varios elementos los cuales no tiene la cadena
de Access, esta formado por: Server, hace referencia al servidor de nuestra base de datos, para
este ejemplo se usara “localhost” que es el local. Database, se refiere al nombre de nuestra base
de datos el cual para este caso usaremos una base llamada “prueba”. Uid, el nombre de usuario
para acceder a la base de datos, se usara el predeterminado llamado “root”. Pwd, corresponde
a la contraseña para acceder a la base de datos y se usara la palabra “root” en este caso. La
cadena completa seria:
"Server=localhost; Database=prueba; Uid=root; Pwd=root"
Paso 3: Teniendo ya la cadena de conexión se creara con una variable el objeto de tipo
MySQLConnection y se le asignara a la cadena de a siguiente forma llamando a la variable
“conexión”:
Dim conexion As New MySqlConnection("Server=localhost; Database=prueba;
Uid=root; Pwd=root")
Paso 4: Ahora se utilizara un Try para abrir la conexión siendo llamado por el evento
“click”:
Private Sub BtnMySQL_Click(sender As Object, e As EventArgs) Handles
BtnMySQL.Click
Dim conexion As New MySqlConnection("Server=localhost;
Database=prueba; Uid=root; Pwd=root")
Try
conexion.Open()
MsgBox("Conectado con exito")
Catch ex As Exception
MsgBox("Motivo del error por el cual no se conecto: "
& ex.ToString)
End Try
End Sub
Microsoft SQL Server 2008 o una versión posterior:
Para realizar una conexión desde VB primeramente
hay que preparar la base de datos, esto se hace definiendo
una contraseña, el usuario y los privilegios necesarios para
trabajar con los datos. Usando herramientas como “SQL
Server Management Studio” se puede realizar esta tarea
fácilmente.
6. Paso 1 y 2: Se abrirá la herramientas antes mencionada y una vez que haya conectado al
servidor se añadirá un inicio de sesión nuevo pero antes de esto hay que definir ciertos
parámetros de la base de datos, para ello se utiliza la “autenticación de SQLServer”, en la base
de datos predeterminada hay que seleccionar la base de datos la cual se usara para la conexión,
también se definen los permisos de la base de datos que se utilizaran para la conexión, en la
siguiente imagen se aprecia como realizar estos pasos:
Paso 2: Ahora que los parámetros están definidos se añadirá el nuevo inicio de sesión
como se ve en la foto:
7. Paso 3: Ahora que se ha preparado la base de datos en su totalidad hay que proceder a
importar las librerías que se utilizaran, asi como en los otros casos se usa el “imports” y los
nombres de las librerías:
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Paso 4: Se define la conexión a la base de datos con los valores que se han definido en
SQLServer, la cadena de conexión es:
myConnectionString = "Provider=sqloledb;" & _
"Data Source=localhost;" & _
"Initial Catalog=bd-gaSQL;" & _
"User Id=UserPrueva;Password=contraseñaPrueva"
Paso 5: Ahora que se ha establecido la conexión se puede hacer una consulta por medio
de un Select, esta consulta leera los datos con el objeto OleDbDataReader y por medio de un
try:
Try
Dim s As String = ("SELECT * FROM Alumnes")
connexio = New OleDbConnection(myConnectionString)
myCommand = New OleDbCommand(s)
myCommand.Connection = connexio
connexio.Open()
Dim myReader As OleDbDataReader = myCommand.ExecuteReader()
While myReader.Read()
Dim NOM As String = myReader("NOM")
Dim COGNOM As String = myReader("COGNOM")
End While
Catch exc As Exception
Throw New GestorExcepcio(exc.Message)
End Try