martes, 10 de junio de 2014

Conectar una base de datos Sql Server con SQLCLIENT con VB.Net

Hola, en esta sección vamos a conectar la tabla "Producto" que se encuentra dentro de una base de datos "Almacen" que se encuentra creada en Sql Server, el código lo crearemos en Visual Basic.Net, y la forma en que nos conectaremos ahora será mediante SqlClient; para esto empezaremos por crear nuestro formulario.

Para esto utilizaremos Visual Studio 2008, y crearemos nuestro formulario, para ello nos vamos a nuestra barra de menú principal de Visual Studio 2008, y seleccionar:
Archivo, seguido de Nuevo Proyecto en seguida les presentará una ventana denominada “Nuevo Proyecto”, en donde en “Tipos de proyecto”, seleccionen el lenguaje con el que trabajaran que en este caso es Visual Basic; al lado se encuentra la sección de Plantillas, seleccione “Aplicación de Windows Forms”, en la parte de abajo donde se indica “Nombre”, capture el nombre que le dará al formulario en este caso le indicaremos “frmProductos” y presionas <Enter>.

Tu formulario se presenta, pero debemos darle una ubicación dentro de nuestro disco duro, por lo tanto seleccionaremos “Archivo”, “Guardar Proyecto”, se presentará una ventana en donde se pondrá el Nombre aunque ya este indicado “frmProductos”, abajo la ubicación en donde presionaremos el botón de comando “Examinar”, le presentará un explorador y seleccionara una carpeta o creara una para poder alojar la solución que va a crear.

El nombre de la solución debe ser el mismo que el nombre de arriba y después presione “Aceptar”. En el área de trabajo se tiene creado el formulario con el nombre de “Form1”, configúrelo dándole un nombre y un tamaño proporcional después seleccione del cuadro de herramientas un botón de comando, una etiqueta Label y un DataGridView.

Haga doble clic en el fondo del formulario y se encontrará en el área de trabajo de código, en donde le presenta una clase denominada “Productos” y que es una clase publica; posicione el cursor al principio de Public Class frmProductos y después teclee <Enter> unas tres o cuatro veces de tal forma que debe de quedar de la siguiente forma

Imports System
Imports System.Data
Imports System.Data.SqlClient


Public Class frmProductos

    Private Sub frmProductos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class

Después dentro de Public Class frmProductos, crear la función vsConex en donde creara la variable de conexión, una variable que permita recibir las instrucciones y parámetros como el SqlCommand y el SqlDataAdapter que recibe el SqlCommand construido, lo ejecuta y lo carga a una variable tipo tabla denominada DataSet como se muestra a continuación:

Function vsConex() As DataSet
        Dim oCnn As New SqlConnection("Data Source = DinamicoSys; Persist Security Info =false; Integrated Security = SSPI; User Id= sa; Password =; Initial Catalog = Almacen")
        Dim oCmd As New SqlCommand
        Dim oDa As New SqlDataAdapter
        Dim ds As New DataSet
        Dim strSql As String

        strSql = "Select * from producto"

        Try
            oCnn.Open()
            oCmd = New SqlCommand(strSql, oCnn)
            oCmd.Connection = oCnn
            oDa.SelectCommand = oCmd
            oDa.Fill(ds, "Producto")
            Return ds

        Catch ex As Exception
            Throw New Exception(ex.Message)
        Finally
            oCnn.Close()

        End Try
    End Function

Vea que al formar la conexión se esta creando una variable de conexión

Note que la function presenta un dato que debe regresar pero en este caso lo que regresa es un dataset como resultado, esto quiere decir que regresa un conjunto o grupo de datos de la tabla Productos. Por ello al retornar (Return) le indicamos el nombre de la variable dataset en este caso es “ds”.

Note que el código está encerrado en un Try…Catch por si hay algún error que me proporcione un mensaje de error, después cierra la variable de conexión oCnn.Close().

Ahora veamos el código en el botón denominado “Aceptar”, el código debe de tener una variable dataset para recibir el resultado de la función y la función como tal, seguido de un dataSource que proviene del grid para cargar los datos que se han traido y de esta manera poder mostrarlos.

Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click
        Dim dsRecibe As New DataSet

        dsRecibe = vsConex()
        dgDatos.DataSource = dsRecibe.Tables("producto")
End Sub

Note la carga que se efectúa en el DataSource del grid dgDatos.


Nos vemos hasta la próxima, espero que este código de ejemplo les sea de utilidad.

No hay comentarios:

Publicar un comentario