Está en la página 1de 8

Programador de Sistemas

CURSO Programacin Visual .NET II

GUA DE LABORATORIO N 01 OBJETIVOS: Modelamiento de una Base de Datos en Erwin Introduccin al modelo ADO .NET. Conocer los pasos para crear una aplicacin vinculada a una base de datos. Creacin por cdigo de objetos: Connection, DataAdapter, DataSet (Escenario Desconectado) Trabajar con controles enlazados. 1. CONSIDEREACIONES INICIALES Para la realizacin de un trabajo ordenado, se sugiere que cree Usted su carpeta de trabajo y una sub-carpeta BDSQL tal como se muestra en el grfico de la derecha. CREACIN 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 Ubicacin de los archivos *.MDF y *.LDF para la Base de Datos: En la Ficha [General], ingrese el nombre de la Base de datos: VENTAS132M.

2.

(Nota: 132 por el nmero de su PC y M por el turno, haga los cambios segn corresponda)

Luego para las fichas [Archivos de Datos] y [Registro de transacciones], deber indicar en Ubicacin la carpeta BDSQL que est en su carpeta de trabajo. Por ltimo haga clic en el botn [Aceptar].

3.

CREACIN DE LAS TABLAS PARA LA BASE DE DATOS 1. Iniciar Erwin 4.xx y realice el modelo de datos para Ventas132M.

2. 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 creacin de tablas, si fuera necesario. 4. POBLACIN DE DATA PARA LAS TABLAS Para ingresar Data a las tablas, solicite el archivo datos_ventas.sql al profesor. 5. CREACIN DE UNA NUEVA SOLUCIN Deber ir al Men Archivo, luego en Nuevo Proyecto ( pulse las telas CTRL + N), a continuacin nos mostrar la siguiente ventana:

Visual Basic. 2. Plantilla: Aplicacin de Windows. 3. Luego escriba el nombre de la aplicacin: SISVENTAS 4. Especifique la carpeta donde se guardar el proyecto (sta deber ser una carpeta creada por usted, use el botn Examinar para localizar su carpeta personal) 5. Hacer clic en el botn Aceptar para crear el proyecto.

Considere lo siguiente: 1. Tipo de Proyecto:

6. 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>>>

6.

CONSIDERACIONES INICIALES DE ADO .NET

7.

ESQUEMA DE LA ESTRATEGIA A UTILIZAR CON ADO .NET

En ADO. NET se utilizan varios objetos para extraer y modificar la informacin contenida en una base de datos. En la figura siguiente se muestra un esquema de la estrategia que se sigue:
Conexin (Connection)

Base de datos

Adaptador De datos (DataAdapter)

Formulario con controles enlazados Conjunto De datos (DataSet)

3
Lo primero que aparece es una conexin, en la que se especifica la informacin para la conexin con la base de datos. A continuacin, se crea un adaptador de datos, que administra la recuperacin de los datos de la base de datos y enva los cambios en los mismos. Luego se crea un conjunto de datos, que es una representacin 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 informacin contenida en un conjunto de datos se puede enlazar con lo controles de un formulario. 7.1. ESTABLECER LA CONEXIN A UN ORIGEN DE DATOS DETERMINADO (CONNECTION)

Establece una conexin a un origen de datos determinado. Para nuestro caso crearemos el objeto Connection en un mdulo.

MODULO: Es un modulo de clase donde se declaran variables a nivel de toda la solucin y/o proyectos de Visual Basic .NET. Tambin se pueden crear objetos conexin a una Base de Datos.

Haga

PROYECTO

clic

en

el

men

Luego seleccione con un clic en la opcin AGREGAR Se presenta una ventana de dialogo seleccione MODULO y escriba el nombre: MODCONEXION luego clic en el botn AGREGAR.

NUEVO ELEMENTO

Seguidamente se presentar una ventana en blanco para la codificacin del modulo correspondiente. ESCRIBA EL SIGUIENTE CDIGO EN EL MODULO: Imports System.Data.SqlClient Module modConexion Public Conexion As SqlConnection = _ New SqlConnection("Data Source=(local); user id=sa; password=; Initial Catalog=ventas132M;") End Module Donde:
Data Source Server Inicial Catalog Database User ID Password Pwd Nombre del servidor de base de datos. Nombre de la base de datos a la que se va a conectar Nombre de usuario de una cuenta registrada en SQL Server Contrasea de inicio de sesin para una cuenta de SQL Server

7.2.

ACCEDER A DATOS DE UNA TABLA - VISUALIZACIN 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:

TrackBar

DataGridView

MTODO 1: ENLAZANDO LOS CONTROLES - DATABINDINGS Imports System.Data Imports System.Data.SqlClient ' Esto va la seccin 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 conexin 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 nmero 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 posicin que tenga la var. fila Me.BindingContext(ds, "Articulo").Position = fila ' total de registros en la tabla artculos 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 Artculo: ", "Buscar") dv.Table = ds.Tables("Articulo") dv.Sort = "codart" fila = dv.Find(strDato) If fila = -1 Then MessageBox.Show("Codigo del Artculo no Existe", "Cuidado") Exit Sub End If NumRegistro(fila) End Sub MTODO 2: UTILIZANDO OBJETOS DATAROW Ahora veamos el mismo ejemplo, en sta ocasin trabajaremos con un DataRow, para recuperar los datos Imports System.Data Imports System.Data.SqlClient ' Esto va la seccin 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 conexin 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 nmero 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 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 Artculo: ", "Buscar") dv.Table = ds.Tables("Articulo") dv.Sort = "codart" fila = dv.Find(strDato) If fila = -1 Then MessageBox.Show("Codigo del Artculo no Existe", "Cuidado") Exit Sub End If CargarDatos(fila) End Sub

TAREA ENCARGADA: .. / .. /

En el Administrador Corporativo de SQL Server, cree Usted un usuario con su respectivo password y los permisos correspondientes para su base de datos, seguidamente cambie el usuario y el password para el objeto Connection llamado conexin.

CONSIDERACIONES PARA REVISIN DE GUAS DE LABORATORIO:


Todo trabajo encargado de las guas de laboratorio u otros realizados en clase debern ser presentados en la fecha indicada. La ltima semana deber presentar un trabajo final que consistir en un prototipo de un sistema, el mismo que ser desarrollado en grupo no mayor de 3 estudiantes, deber tomar como base a las guas de laboratorio y/o lo desarrollado en aula/laboratorio con el docente. ste trabajo deber ser expuesto y presentado en un CD, incluyendo el desarrollo de todas las guas de laboratorio del curso de cada estudiante del grupo. REVISIN ADO .NET