Está en la página 1de 19

Universidad Nacional de Ingeniera

Facultad de Electrotecnia y Computacin Ingeniera en Computacin Administradores de Bases de Datos

Conexin de Bases de Datos:

Bases de Datos llevadas a Visual Basic .Net 2005. Gua de trabajo #4

Prof. Giovanni Francisco Senz Araica.

Objetivo:
1.- Crear conexin entre una Base de Datos diseada en SQL Server 2005 y llevarla a Visual Basic, para presentar esos datos al usuario en una aplicacin de Windows. 2.- Mostrar los pasos que se deben de seguir para poder establecer conexin entre la base de datos que se diseo en SQL Server 2005 y Visual Basic .Net 2005. 3.- Clase practica de Administracin de Bancos de Datos y Salida de Datos en un Lenguaje de Programacin que acta como Gestor de Bases de Datos.

Tabla de Contenidos:
Trabajando Con Bases de Datos en Visual Basic .Net _________________________________________ 3 Detallando la estructura del Dataset y su funcionamiento ______________________________________ 4

Trabajando Con Visual Basic .Net 2005 ________________________________________________ 5 (Ejemplo #1)_______________________________________________________________________ 5 Trabajando Con Visual Basic .Net 2005 _______________________________________________ 14 (Ejemplo #2)______________________________________________________________________ 14 Procedimiento Almacenado _________________________________________________________ 15
Para Ejecutarse en SQL Server 2005 ______________________________________________________ 15

Manejo de Procedimientos Almacenados en Visual Basic .Net _____________________________ 17 Tareas___________________________________________________________________________ 18 Bibliografa ______________________________________________________________________ 19

Trabajando Con Bases de Datos en Visual Basic .Net


(Utilizando el Mtodo de Cdigo) Para poder trabajar con conexiones en visual Basic .Net, tenemos que considerar el esquema de manejo de datos.

Una Base de datos lgica contenida en dos archivos fsicos en disco.

Modelo de acceso a base de datos utilizando ADO.Net

Estructura Simplificada del Dataset

Detallando la estructura del Dataset y su funcionamiento


Base de Datos Adapter Conexin Comando Aplicacin Cliente El dataset controlara las tablas de la siguiente forma: Dataset Dataset

Tabla: Empleados

Tabla: Customers

Este ejemplo fue diseado en la base de nortwind de SQL Server. Primero antes que todo, crear dos Formularios, como aparece en la siguiente grfica:

Observar con detalle el explorador de soluciones de Visual Basic .Net 2005. En este caso tenemos dos Formularios: a.- Form1. b.- FrmEmpleados. Ambos tendrn que programar Instrucciones.

Trabajando Con Visual Basic .Net 2005 (Ejemplo #1)


1.- Crear el Siguiente Formulario

Button2

Button1

2.- Crear dos Botones, y dentro del botn Cargar Empleados, digitalizara el siguiente cdigo: Private Sub Button2_Click(ByVal sender As System.EventArgs) Handles Button2.Click Dim ObjFrmEmpleados As FrmEmpleados ObjFrmEmpleados = New FrmEmpleados ObjFrmEmpleados.ShowDialog() End Sub System.Object, ByVal e As

3.- Dentro del Botn salir, digitalizar:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub

De tal forma que usted vera en la pantalla lo siguiente:

Cdigo del Form1

Debe crear una Conexin con el Servidor, ya que en nuestro caso utilizaremos SQL Server, de la siguiente Forma (debe buscar el Explorar de Servidores):

Ir al Menu de Opciones y seleccionar el Explorador de Servidores (recuerde que para poder hacer esto sin ningn problema, le recomendamos estar como Administrador).

Recuerde Incluir, la ventana de Propiedades (en caso de que no este disponible en pantalla)

Luego Seleccin conexin de Datos de la Siguiente forma: Al estar en el Explorador de Servidores, dar click derecho sobre la conexin de datos (esta es una de las varias formas y la ms sencilla en que usted puede crear una conexin con una base de datos).

Lgicamente, usted indicara que desea crear una conexin, este caso por defecto al estar en el 2005 se le presenta SQL Server 2005, as como tambin puede optar por una nueva conexin, de las dos maneras llegara al mismo lugar. Entonces usted vera la siguiente ventana (en nuestro caso el servidor se llama Local).

Debe seleccionar el tipo de base de dato segn su origen. Este formulario aparece al hacer click en Agrega Conexin.

Si usted selecciono SQL Server debe Aparecer

Recuerde que es primordial y de gran relevancia el nombre del servidor, sino, no se realizaran las tareas que necesita (LOCAL en este ejemplo, pero eso depende de su Ordenador).

Puede utilizar autenticacin de Windows, no tendr ningn problema en este ejercicio.

Es muy importante seleccionar la base de datos que usted utilizara, recuerde que en nuestro caso es Northwind.

4.- Usted puede Notar que en la parte derecha tiene otro formulario, el cual detalla lo siguiente:

GridEmpleados

GridCustumers

Se agregaran dos elementos, pero antes de esos realice lo siguiente: 4.1.- Al nombre del formulario, llmelo ahora como FrmEmpleados. 4.2.- Agregar un DataGridView con el Nombre de gridEmpleados. 4.3.- Agregar un segundo DataGridView con el nombre de GridCustumers.

5.- Dentro del Formulario, agregue el siguiente Cdigo: Public Class FrmEmpleados 'Declaracion de los Objetos de conexion a la Base de datos. Dim objCnn As SqlClient.SqlConnection 'Conexion a la Base de Datos Dim objAdapter As SqlClient.SqlDataAdapter 'Instruccion SQL que se quiere ejecutar Dim objDataSet As DataSet 'El resultado de la Instruccion SQL Private Sub FrmEmpleados_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'Declaracion de Variables Dim strSql As String Dim strCnn As String 'Creando las Instancias de los Objetos objCnn = New SqlClient.SqlConnection

objDataSet = New DataSet 'Se asigna la cadena de Conexion, en este caso es para SQL Server con Autenticacion Windows strCnn = "Data Source=LOCAL;Initial Catalog=Northwin;Integrated Security=True" ---- Comentario de la instruccin anterior. Recuerde que Source depende del Servidor, es decir que verifique el nombre del Servidor y los detalles

Verifique las Propiedades de la Conexin de Datos, es decir, observe como se llama el servidor y todos los detalles que hacen posible que usted pueda cargar esa base de datos.

Dentro de las Propiedades de la Base de Datos, observe la cadena de conexin, el proveeedor y tipo, ya sabe que para nuestro caso es SQL Server.

Vara de acuerdo al Servidor

--Puede seguir digitalizando el cdigo 'Instruccion SQL, del Procedimiento Almacenado, puede ser un Select, una vista, funcion, tigger, etc.

strSql = "EXEC spGetEmpleados" 'La cadena de Conwxion al Objeto conexion objCnn.ConnectionString = strCnn 'Se establece la conexion con el servidor objCnn.Open() 'Ejecutando la Instrcion Sql especificado en la variable strSql objAdapter = New SqlClient.SqlDataAdapter(strSql, objCnn) 'Asignando el Resultado de la Ejecucion al DataSet objAdapter.Fill(objDataSet, "Empleados") 'La cadena recibe el Procedimiento Almacenado strSql = "EXEC spGetCustomers" objAdapter = New SqlClient.SqlDataAdapter(strSql, objCnn) objAdapter.Fill(objDataSet, "Customers") 'Se asignan los datos al Grid Me.gridEmpleados.DataSource = objDataSet.Tables("Empleados") Me.GridCustumers.DataSource = objDataSet.Tables("Customers") End Sub End Class Recuerde que nosotros estamos conectados a la base de datos Northwin, ahora fjese en los procedimientos almacenados, hemos llamado al procedimiento spGetEmpleados y spGetCustomers.

El contenido de los procedimientos almacenados es: spGetCustomers

El contenido de los procedimientos almacenados es: spGetEmpleados

Ambos fueron diseados en SQL Server 2005, bueno, pero usted los puede disear en la Versin 2000. 6.- Ahora que tiene todo claro, proceda a ejecutar el programa para ver los resultados, los cuales son:

El resultado al digitalizar sobre el Botn Cargar Empleados es:

Si al final le resulto el formulario FrmEmpleados, con las dos tablas, entonces bien venido a visual Basic .Net 2005 con bases de datos, sino, entonces verifique el cdigo, probablemente exista algn problema con los procedimientos almacenados o con la conexin al momento de abrir la base de datos.

Trabajando Con Visual Basic .Net 2005 (Ejemplo #2)


Ahora recordemos un poco de los Procedimientos Almacenados que se han desarrollado en SQL Server 2005. Vamos al estilo Flash Back, un procedimiento almacenado, debe tener: a.- Un nombre. b.- Parmetros, esto es opcional. c.- Declaraciones de Datos, esto tambin es opcional. d.- El bloque donde programaremos las instrucciones, delimitado por un Begin End. Si lo recordis, entonces a vosotros, se nos presenta el siguiente ejemplo:

Procedimiento Almacenado
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[spgetLibros] AS BEGIN SET NOCOUNT ON; SELECT dbo.Libro.Nombre_Libros, dbo.Editorial.Nombre_Editorial FROM dbo.Libro INNER JOIN dbo.Editorial ON dbo.Libro.Id_Editorial = dbo.Editorial.Id_Editorial END

Para Ejecutarse en SQL Server 2005


En la Primera forma y la ms Sencilla: exec spgetLibros En la forma como segunda opcin: Exec [dbo].[spgetLibros] Y en la tercera forma, la cual puede generar otras versiones parecidad para la corrida: Execute spgetLibros

Manejo de Procedimientos Almacenados en Visual Basic .Net


Imports System.Data Public Class frmPrincipal Private Sub frmPrincipal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try CargarDatos() Catch ex As Exception MsgBox("Ocurrio un error en frmPrincipal " & ex.Message, MsgBoxStyle.Critical, "Prueba") End Try End Sub Private Sub CargarDatos() '-- Declaracion de Variables Dim StrConexion As String Dim ObjConexion As SqlClient.SqlConnection Dim ObjAdaptador As SqlClient.SqlDataAdapter Dim ObjDataSet As DataSet Try ObjConexion = New SqlClient.SqlConnection ObjDataSet = New DataSet 'Establecer la conexion a la BD '------------------------------------------------------------------------------------'Data Source = Nombre del Servidor 'Initial Catalog = Nombre de la BD 'User ID = Usuario del SERVIDOR SQL si es Autenticacion Windows 'puede ir con Cadena vacia 'Password = Clave del Usuario del SERVIDOR SQL si es autenticacion Windows debe contener cadena vacia. '------------------------------------------------------------------------------------StrConexion = "Data Source=LOCAL;Initial Catalog=LibreraNUEVODIA;User ID='sa'; Password = ''" ObjConexion.ConnectionString = StrConexion ObjConexion.Open() ObjAdaptador = New SqlClient.SqlDataAdapter("exec spgetLibros", ObjConexion) ObjAdaptador.Fill(ObjDataSet, "Editoriales") Me.dataEditoriales.DataSource = ObjDataSet.Tables("Editoriales")

Catch ex As Exception MsgBox("Ocurrio un error en CargarDatos " & ex.Message, MsgBoxStyle.Critical, "Prueba") End Try End Sub End Class

Recuerda seguir los pasos como se hizo en el primer ejercicio, es recomendable que leas informacin adicional a la que se te muestra. Recuerda, uno nunca termina de aprender y si en verdad buscar ampliar tus conocimientos, te daras cuenta que de lo que tu necesitas sabes muy poco y el que te diga que todo lo sabe, en verdad no sabe nada. Lee a Piagget o un libro de nuevas tendencias del conocimiento, y te dars cuenta que es as la vida.

Tareas
1.- Hacer esta prctica con los procedimientos almacenados que estn propuestos de acuerdo al inventario que se defini en las semanas anteriores. 2.- Investigar como hacer estos mismos pasos, pero ahora con vista y funciones. 3.- Aqu se mostraron los pasos a seguir para desarrollar esta aplicacin en Windows, ahora, tu tienes que hacerlo con Web Forma. Esta misma prctica pero llevada a una base de datos dinmica y que se pueda ver en todo el mundo. De hecho, esta es la siguiente prueba evaluada.

Bibliografa
1.- Titulo: Aprenda Ya Visual Basic .Net. Autor: Michael Halvorson. Editorial: Mc Graw Hill. ISBN: 970-10-5897-6 2.- Titulo: Aprenda Ya SQL Server 2005. Autor: Michael Halvorson. Editorial: Mc Graw Hill. 3.- Titulo: Aprendiendo Visual Basic .Net. Autor: Duncan Mackenzie, Kent Sharkey. Editorial: Prentice Hall. ISBN: 970-26-0379-X. 4.- Titulo: Fundamentos de SQL Conocimientos Esenciales para Programadores. Autor: Forrest Houlette. Editorial: Mc Graw Hill. ISBN: 970-10-3895-9. 5.- Titulo: Curso de SQL Server y Visual Basic .Net. Autor: Ing. Glenda Barrios. Editorial:. Ing. Glenda Barrios ISBN: UNI FEC, Ingeniera en Computacin.

No puedo definir que un libro tiene ms que el otro, la verdad es que de cada libro, existe un parte, lo cual hizo posible poder completar este documento. Ya que gracias a la Profesora Glenda se pudo completar la Informacin, as como Erick, ambos me dieron las ideas de cmo plantear los problemas que les presente.