1. GUÍA DE LABORATORIO N° 01
• Modelamiento de una Base de Datos.
• Introducción al modelo ADO .NET.
• Conocer los pasos para crear una aplicación vinculada a una base de datos.
• Creación por código de objetos: Connection, DataAdapter, DataSet (Escenario Desconectado)
• Trabajar con controles enlazados.
CONSIDEREACIONES INICIALES
Para la realización de un trabajo ordenado, se sugiere que cree Usted su carpeta de trabajo y una sub-carpeta
BDSQL tal como se muestra en el gráfico:
CREACIÓN DE LA BASE DE DATOS
1. Inicie el Administrador Corporativo de SQL Server, luego proceda a crear una Base de Datos:
• Clic derecho en Base de Datos.
• Desde el menú contextual seleccione Nueva base de datos…
2. Nombre de la Base de Datos y Ubicación de los archivos *.MDF y *.LDF para la Base de Datos:
• En la Ficha [General], ingrese el nombre de la Base de datos. (Nota: haga los cambios según corresponda)
Luego para las fichas [Archivos de Datos] y [Registro de transacciones], deberá indicar en Ubicación la
carpeta BDSQL que está en su carpeta de trabajo.
• Por último haga clic en el botón [Aceptar].
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
3. CREACIÓN DE LAS TABLAS PARA LA BASE DE DATOS
Generar las tablas para su Base de Datos.
Nota: cuando termine de generar las tablas para su base de datos SIN ERRORES, deberá guardar el
SCRIPT SQL generado por ERWIN para su posterior creación de tablas, si fuera necesario.
CREACIÓN DE UNA NUEVA SOLUCIÓN
Deberá ir al Menú Archivo, luego en Nuevo Proyecto (ó pulse las telas CTRL + N), a continuación nos
mostrará la siguiente ventana:
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
4. Considere lo siguiente:
1. Tipo de Proyecto: Visual Basic.
2. Plantilla: Aplicación de Windows.
3. Luego escriba el nombre de la aplicación: SISVENTAS
4. Especifique la carpeta donde se guardará el proyecto (ésta deberá ser una carpeta creada por usted, use el
botón Examinar para localizar su carpeta personal)
5. Hacer clic en el botón Aceptar para crear el proyecto.
SUGERENCIA: Una vez creado nuestro proyecto SISVENTAS, se sugiere crear carpetas para guardar los
diferentes elementos del sistema de forma ordenada, para ello siga los siguientes pasos en el Explorador de
Soluciones>>>
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
5. CONSIDERACIONES INICIALES DE ADO .NET
ESQUEMA DE LA ESTRATEGIA A UTILIZAR CON ADO .NET
En ADO. NET se utilizan varios objetos para extraer y modificar la información contenida en una base de datos.
En la figura siguiente se muestra un esquema de la estrategia que se sigue:
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
6. Lo primero que aparece es una conexión, en la que se especifica la información para la conexión con la Base de
Datos. A continuación, se crea un adaptador de datos, que administra la recuperación de los datos de la base
de datos y envía los cambios en los mismos. Luego se crea un conjunto de datos, que es una representación
de una o varias de las tablas de la base de datos con la que se desea trabajar en el programa (en realidad no se
manipulan los datos reales, sino una copia de los mismos). La información contenida en un conjunto de datos se
puede enlazar con lo controles de un formulario.
ESTABLECER LA CONEXIÓN A UN ORIGEN DE DATOS DETERMINADO (CONNECTION)
Establece una conexión a un origen de datos determinado. Para nuestro caso crearemos el objeto Connection
En un módulo.
MODULO: Es un modulo de clase donde se declaran variables a nivel de toda la solución y/o proyectos de Visual
Basic .NET. También se pueden crear objetos conexión a una Base de Datos.
Haga clic en el menú PROYECTO
Luego seleccione con un clic en la opción AGREGAR, NUEVO ELEMENTO Se presenta una ventana de
dialogo seleccione MODULO y escriba el nombre: MODCONEXION luego clic en el botón AGREGAR.
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
7. Seguidamente se presentará una ventana en blanco para la codificación del modulo correspondiente
ESCRIBA EL SIGUIENTE CÓDIGO EN EL MODULO:
Imports System.Data.SqlClient
Module modConexion
Publico Conexion As SqlConnection = _
New SqlConnection("Data Source=(local); user id=sa; password=; Initial Catalog=ventas132M;")
End Module
Donde:
Data Source ó Server Nombre del servidor de base de datos.
Inicial Catalog ó Database Nombre de la base de datos a la que se va a conectar
User ID Nombre de usuario de una cuenta registrada en SQL Server
Password ó Pwd Contraseña de inicio de sesión para una cuenta de SQL Server
ACCEDER A DATOS DE UNA TABLA – VISUALIZACIÓN
Para empezar a trabajar con los objetos Connection, DataAdapter y DataSet deberá agregar un Formulario y
guardarlo con el nombre de FrmVisualizarArticulo, éste deberá tener la siguiente apariencia:
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
8. MÉTODO 1: ENLAZANDO LOS CONTROLES – DATABINDINGS
Imports System.Data
Imports System.Data.SqlClient
' Esto va la sección declaraciones
Dim daArticulo As SqlDataAdapter 'objeto Adaptador de datos
Dim ds As New DataSet 'objeto Conjunto de datos
Private Sub frmVisualizarCargo_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Conexion.Open()
' Creando el Adaptador de datos
daArticulo = New SqlDataAdapter("select * from Articulo", ModConexion.Conexion)
' Cargando datos en el dataset
daArticulo.Fill(ds, "Articulo")
' Cerrando la conexión
Conexion.Close()
' Enlazando los controles TextBox al campo correspondiente
Me.TextBox1.DataBindings.Add("Text", ds, "Articulo.codart")
Me.TextBox2.DataBindings.Add("Text", ds, "Articulo.desart")
Me.TextBox3.DataBindings.Add("Text", ds, "Articulo.preart")
Me.TextBox4.DataBindings.Add("Text", ds, "Articulo.stoart")
' Enlazando el control DataGrid
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "Articulo"
Me.DataGridView1.ReadOnly = True
' Mostrando el 1er. registro
NumRegistro(0)
' Estableciendo el maximo del control TrackBar
' igual al número de registros de la tabla articulos
Me.TrackBar1.Maximum = ds.Tables("Articulo").Rows.Count – 1
End Sub
Private Sub NumRegistro(ByVal fila As Integer)
Dim total As Integer
' Mostrará el registro en una posición que tenga la var. fila
Me.BindingContext(ds, "Articulo").Position = fila
' total de registros en la tabla artículos
total = ds.Tables("Articulo").Rows.Count
Me.lblPosicion.Text = "Articulo: " & Str(fila + 1) & " de " & Str(total)
End Sub
Private Sub TrackBar1_Scroll(ByVal . . . System.EventArgs) Handles TrackBar1.Scroll
Try
NumRegistro(TrackBar1.Value)
Catch ex As System.Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BtnBuscar_Click(ByVal . . . System.EventArgs) Handles BtnBuscar.Click
Dim strDato As String
Dim fila As Integer
' Trabjando con un DataView
Dim dv As New DataView
strDato = InputBox("Ingrese codigo del Artículo: ", "Buscar")
dv.Table = ds.Tables("Articulo")
dv.Sort = "codart"
fila = dv.Find(strDato)
If fila = -1 Then
MessageBox.Show("Codigo del Artículo no Existe", "Cuidado")
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
9. Exit Sub
End If
NumRegistro(fila)
End Sub
MÉTODO 2: UTILIZANDO OBJETOS DATAROW
Ahora veamos el mismo ejemplo, en ésta ocasión trabajaremos con un DataRow, para recuperar los datos
Imports System.Data
Imports System.Data.SqlClient
' Esto va la sección declaraciones
Dim daArticulo As SqlDataAdapter 'objeto Adaptador de datos
Dim ds As New DataSet ' Objeto Conjunto de datos
Dim dr As DataRow ' Objeto DataRow
Private Sub frmVisCargo_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Conexion.Open()
' Creando el Adaptador de datos
daArticulo = New SqlDataAdapter("select * from Articulo", ModConexion.Conexion)
' Cargando datos en el dataset
daArticulo.Fill(ds, "Articulo")
' Cerrando la conexión
Conexion.Close()
' Enlazando el control DataGrid
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "Articulo"
Me.DataGridView1.ReadOnly = True
' Mostrando el 1er. registro
CargarDatos(0)
' Estableciendo el maximo del control TrackBar
' igual al número de registros
Me.TrackBar1.Maximum = ds.Tables("Articulo").Rows.Count – 1
End Sub
Private Sub CargarDatos(ByVal fila As Integer)
Dim total As Integer
Try
' Para mostarar la posicion
total = ds.Tables("Articulo").Rows.Count
Me.lblPosicion.Text = "Articulo: " & Str(fila + 1) & " de " & Str(total)
' Asignando un fila de datos "Registro" al DataRow
dr = ds.Tables("Articulo").Rows(fila)
' Mostrando los datos desde el datarow
TextBox1.Text = dr("codart")
TextBox2.Text = dr("desart")
TextBox3.Text = dr("preart")
TextBox4.Text = dr("stoart")
Catch exc As Exception
MessageBox.Show(exc.Message)
End Try
End Sub
Private Sub TrackBar1_Scroll(ByVal . . . System.EventArgs) Handles TrackBar1.Scroll
Try
CargarDatos(TrackBar1.Value)
Catch ex As System.Exception
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL
10. MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BtnBuscar_Click(ByVal . . . System.EventArgs) Handles BtnBuscar.Click
Dim strDato As String
Dim fila As Integer
' Trabjando con un DataView
Dim dv As New DataView
strDato = InputBox("Ingrese codigo del Artículo: ", "Buscar")
dv.Table = ds.Tables("Articulo")
dv.Sort = "codart"
fila = dv.Find(strDato)
If fila = -1 Then
MessageBox.Show("Codigo del Artículo no Existe", "Cuidado")
Exit Sub
End If
CargarDatos(fila)
End Sub
Tomado de:
Universidad Nacional Jorge Basadre Grohmann - ITEL