trabajando bases de datos visual basic 2005
TRANSCRIPT
Universidad Nacional de Ingeniería Facultad de Electrotecnia y Computación
Ingeniería en Computación – Administradores de Bases de Datos
Conexión de Bases de Datos:
Bases de Datos llevadas a Visual Basic .Net 2005.
Guía de trabajo #4
Prof. Giovanni Francisco Sáenz Araica.
Objetivo: 1.- Crear conexión entre una Base de Datos diseñada en SQL Server 2005 y llevarla a
Visual Basic, para presentar esos datos al usuario en una aplicación de Windows.
2.- Mostrar los pasos que se deben de seguir para poder establecer conexión entre la base de datos que se diseño en SQL Server 2005 y Visual Basic .Net 2005.
3.- Clase practica de Administración de Bancos de Datos y Salida de Datos en un Lenguaje
de Programación que actúa 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
Bibliografía ______________________________________________________________________ 19
Trabajando Con Bases de Datos en Visual Basic .Net (Utilizando el Método de Código)
Para poder trabajar con conexiones en visual Basic .Net, tenemos que considerar el esquema de manejo
de datos.
Una Base de datos lógica contenida en dos archivos físicos en disco.
Modelo de acceso a base de datos utilizando ADO.Net
Estructura Simplificada del Dataset
Detallando la estructura del Dataset y su funcionamiento
El dataset controlara las tablas de la siguiente forma:
Este ejemplo fue diseñado en la base de nortwind de SQL Server.
Primero antes que todo, crear dos Formularios, como aparece en la siguiente gráfica:
Conexión
Base de
Datos
Adapter
Comando
Dataset
Aplicación
Cliente
Dataset
Tabla: Empleados Tabla: Customers
Trabajando Con Visual Basic .Net 2005
(Ejemplo #1) 1.- Crear el Siguiente Formulario
2.- Crear dos Botones, y dentro del botón Cargar Empleados, digitalizara el siguiente
código:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim ObjFrmEmpleados As FrmEmpleados ObjFrmEmpleados = New FrmEmpleados ObjFrmEmpleados.ShowDialog() End Sub
Button2 Button1
Observar con detalle el explorador de soluciones de Visual Basic .Net 2005. En este caso tenemos dos Formularios: a.- Form1. b.- FrmEmpleados. Ambos tendrán que programar Instrucciones.
3.- Dentro del Botón 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:
Debe crear una Conexión con el Servidor, ya que en nuestro caso utilizaremos SQL Server, de la siguiente Forma (debe buscar el Explorar de Servidores):
Código del
Form1
Luego Selección conexión de Datos de la Siguiente forma:
Lógicamente, usted indicara que desea crear una conexión, este caso por defecto al estar en el 2005 se le presenta SQL Server 2005, así como también puede optar por una nueva conexión, de las dos maneras llegara al mismo lugar. Entonces usted vera la siguiente ventana (en nuestro caso el servidor se llama Local).
Ir al Menu de Opciones y seleccionar el
Explorador de Servidores (recuerde que
para poder hacer esto sin ningún
problema, le recomendamos estar como
Administrador).
Recuerde Incluir, la ventana de
Propiedades (en caso de que no este
disponible en pantalla)
Al estar en el Explorador de Servidores, dar click derecho sobre la conexión de datos (esta es una de las varias formas y la más sencilla en que usted puede crear una conexión con una base de datos).
Debe seleccionar el tipo de base de dato según su origen. Este formulario aparece al hacer click en Agrega Conexión.
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 autenticación de Windows, no tendrá ningún 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:
Se agregaran dos elementos, pero antes de esos realice lo siguiente: 4.1.- Al nombre del formulario, llámelo 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 Código: 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
GridEmpleados GridCustumers
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 instrucción anterior. ‘Recuerde que Source depende del Servidor, es decir que verifique el ‘nombre del Servidor y los detalles
Dentro de las Propiedades de la Base de Datos, observe la cadena de conexión, el proveeedor y tipo, ya sabe que para nuestro caso es SQL Server.
--Puede seguir digitalizando el código 'Instruccion SQL, del Procedimiento Almacenado, puede ser un Select, una vista, funcion, tigger, etc.
Verifique las Propiedades de la Conexión 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.
Varía de acuerdo al Servidor
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 fíjese 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 diseñados en SQL Server 2005, bueno, pero usted los puede diseñar en la Versión 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 Botón 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 código, probablemente exista algún problema con los procedimientos almacenados o con la conexión 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.- Parámetros, esto es opcional. c.- Declaraciones de Datos, esto también es opcional. d.- El bloque donde programaremos las instrucciones, delimitado por un Begin – End. Si lo recordáis, 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 más Sencilla:
exec spgetLibros En la forma como segunda opción:
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=LibreríaNUEVODIA;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 información
adicional a la que se te muestra. Recuerda, uno nunca termina de aprender y si en verdad buscar
ampliar tus conocimientos, te darías 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 darás cuenta que es así la vida.
Tareas
1.- Hacer esta práctica con los procedimientos almacenados que están 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 aplicación en Windows, ahora, tu tienes que hacerlo con Web Forma. Esta misma práctica pero llevada a una base de datos dinámica y que
se “pueda ver en todo el mundo”. De hecho, esta es la siguiente prueba evaluada.
Bibliografía
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, Ingeniería en Computación.
No puedo definir que un libro tiene más 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 Información, así como Erick, ambos me dieron las ideas de cómo plantear los problemas que les presente.