viernes, 11 de noviembre de 2011

Conectarse a base de datos SQL/SQL Express

Lo primero para lograr una conexión entre Visual y una base de datos Microsoft SQL o SQL Express es cargar la libreria de SQL en el formulario donde deseas establecer la conexión.

Suponiendo que ya tienes una base de datos creada en Sql Express, y un proyecto de Visual con un formulario el cual contiene un ComboBox y un botón, haz lo siguiente:



1. Colocar esto al principio el formulario, es decir fuera de Public Class Form1

Imports System.Data.SqlClient

2. Luego debes crear las siguentes variables, dentro de Public Class Form1. Pon atención que se encuentran en permisos Public para que puedan ser usadas en cuarlquier formulario de tu proyecto.

'Sql Connection, nos permite definir una conexión a una bd
Public SqlConnection As SqlConnection
'Para ejecutar diferentes queries...
Public cmd As SqlCommand
'Almacenar el resultado de la ejecución de un query
Public DR As SqlDataReader

3. Una ves cargadas las librerias y variables necesarias ya puedes realizar la conexión. El codigo siguiente lo puedes poner en el load del formulario o dentro del evento Clic de un botón

Try

'================================================================================='
'--------------- Establecer y abrir conexión con la base de datos ---------------'
'================================================================================='
'SQLConnection = New SqlConnection("Data Source=DireccionDelServidor;Initial Catalog=NombreBaseDeDatos;User Id=Usuario;Password=Contraseña;Integrated Security=True")
SqlConnection = New SqlConnection("Data Source=LOCALHOST\SQLEXPRESS;Initial Catalog=Inventario;User Id=Vicfigue99; Password=abcaeiou;Integrated Security=True")
SqlConnection.Open()

'//////////////////////////////////////// FIN ////////////////////////////////////////'

'================================================================================='
'--------------- Obtener listado de productos Registrados en la bd ---------------'
'================================================================================='
cmd = New SqlCommand("Select * from Producto", SqlConnection)
DR = cmd.ExecuteReader
Do While DR.Read
ComboBox1.Items.Add(DR("Nombre"))
Loop
SqlConnection.Close()
'//////////////////////////////////////// FIN ////////////////////////////////////////'
Catch ex As Exception
MsgBox("Ha ocurrido un error" + vbCrLf + "No se encuentra Base de Datos-Sin Conexión", MsgBoxStyle.Critical, "Error")

End Try

Tomar en cuenta lo siguiente:
En este ejemplo la base de datos creada en SQL o SQL Express se llama "Inventario".
La tabla de la base de datos Inventario que queremos obtener los datos se llama "Producto"

Importante:
El resultado del query, el cual es un areglo se almacena en la variable DR. motivo por el cual para poder obtener los datos hay que recorrer ese arreglo mediante un ciclo; por cada ciclo se devuelve una fila, el cual cada columna de esa fila tiene un ID, el cual es el nombre del campo original de la base de datos. Es decir:

Tenemos la Base de datos original con 100 registros:

Hacemos el Query/Consulta y el resultado del mismo se almacena como un arreglo en la variable DR.   Si queremos obtener lo datos hay que recorrer ese arreglo mediante un ciclo.

Ciclo 1:

Ciclo 2:

Ciclo3:


Para obtener varios campos podemos crear variables, quienes adquieren el valor del registro del campo que necesitamos, hacer lo siguiente:

Do While DR.Read
Dim NombreProducto = DR("Nombre")
Dim UnidadesProducto = DR("UnidadesDisponibles")
ComboBox1.Items.Add(NombreProducto)
ComboBox2.Items.Add(UnidadesProducto)

Loop


--
Nota: La información contenida en esta publicación, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en la presente publicación.

4 comentarios:

  1. Interesante tu blog ah, estoy programando en visual basic 2008 y aprendiendo cada vez mas, aver si tienes algo de conexion pero a acces en visual basic en eso estoy ahora, y una consulta sabes como agrego musica predeterminada a mi reproductor que hise en visual, osea que lo abra en cualkier pc y suene las canciones que quisiera agregar, no se si me entendiste pero si lo hiciste espero tu respuesta amigo, un abrazo aka te dejo mi blog

    http://michellac.blogspot.com/

    agregate con mi blog para estar en comunicacion !!

    ResponderEliminar
    Respuestas
    1. Que tal, gracias por visitar mi Blog. Con respecto a lo del reproductor de música, entiendo que lo que quieres es crear una especie de playlist... Crea una tabla en tu base de datos llamada playlist y en ella debes de agregar el id, nombre(opcional) y la ruta (ubicación del archivo, ya sea pc o url) en donde se encuentra la canción que deseas reproducir y listo. Cada vez que abras tu reproductor de música en cualquier pc, sonaran las mismas canciones, siempre y cuando la otra pc tenga las mismas canciones en la misma ruta a la que hace referencia el registro en la base de datos. Espero haber entendido bien, saludos

      Eliminar
  2. Bueno si entendi alo que te refieres creo, pero lo que me referia del reproductor es un reproductor (no tiene nada que ver con la base de dato en este caso) que hise en windonws forms en visual basic pero solo, y lo uso en mi compu para escuchar musica por el reproductor que hise pero quisiera saber si ese reproductor que tengo puedo agregarle musica predeterminada parecido a los gadgets de reproductores , sera posible hacer eso , llevar mi reproductor a otra pc y ejecutarlo ahi ya con el set list dentro del reproductor, se puede o no , y si se puede sabras tu los codigos para eso ?? bueno espero que me haigas entendido amigo, un abrazo a la distancia amigo !!!

    ResponderEliminar
  3. Por lo que me dices, la forma más fácil de hacerlo es instalar tu aplicación en una memoria USB y en ella misma una carpeta con tus canciones favoritas y listo... Ahora si lo que quieres es que el programa se instale junto con las canciones de tu playlist, seria de investigar un poco y averiguar como integrar en la aplicación los archivos de música a la aplicación. Si logras hacerlo, te agradezco si me dices como lo conseguiste y a la vez compartir el código, si lo deseas en mi blog, un saludo.

    ResponderEliminar