DataSets Tipificados y No Tipificados I

Diferencias entre los tipos de DataSet 

Fecha: 14/Jul/2005 (13 de Julio de 2005)
Autor: Ing. Fernando Luque Sánchez  -  DCE 4 Estrellas

fls2307@hotmail.com


Sres. Desarrolladores, este es el primero de una serie de artículos que estoy preparando para explicar el uso de DataSets, para los que desarrollamos aplicaciones en Visual Studio tanto para Windows como aplicaciones Web sabemos que toda la información la manejamos en DataSets, por lo que creo necesario que conozcamos lo mejor posible estos.

UN POCO DE TEORIA

Un DataSet es un reservorio de datos en la memoria del Cliente en aplicaciones Windows  y en la memoria del Servidor para las aplicaciones ASP .Net, estas trabajan en ambientes desconectados, la estructura de un DataSet es similar a la de una base de datos en el cual se exponen de manera jerárquica las tablas, filas y columnas que contiene.

El modelo de trabajo con datos desde una base de datos en aplicaciones con Visual Studio .Net necesita de una Adaptador, este relaciona el DataSet con la Tabla correspondiente en la base de datos, se encarga de la Inserción, Modificación, Eliminación y Selección de registros.

El uso de DataSets provee de las sigueintes ventajas:

Vea: Como enlazar controles de lista a base de datos:
http://www.elguille.info/colabora/NET2005/FernandoLuque_ControlesListaBD.htm

Partes principales de una DataSet

DataSet Tipificados

Los DataSets tipificados son aquellos que tienen como referencia un esquema XML presente en la aplicación (archivo con extensión xsd), estos tipos de DataSets pueden ser creados desde el IDE siguiendo los siguientes pasos:

Creado usando el IDE de Visual Studio:

  1. Abrir el modo diseño del formulario donde se incluirá el DataSet, seleccionar la ficha Datos del cuadro de herramientas, incluir un SQLConnection y configurar el ConnectionString con la base de datos a trabajar


  2. Insertar un SQLDataAdapter y configurarlo seleccionando la conexión creada en el paso 1 siguiendo el asistente.

    Pulsar click en Siguiente
    Seleccionar la cadena previamente configurada y pulsar click en Siguiente
    Escribir la instrucción Select o utilizar el Generador de Consultas, luego pulsar click en Siguiente
    Pulsar click en Finalizar. Es necesario anotar que en este paso los Detalles deben presentar todos un aspa de haberse generado.
  3. Luego de creado es SQLDataAdapter, se puede generar el DataSet Tipificado, pulsar botón derecho en el Adaptador y seleccionar la opción Generar conjunto de Datos .
    Seleccionar si se creará uno nuevo o el esquema se creará en una existente. Fíjese en la casilla de verificación Agregar este conjunto de datos al diseñador, debe estar activada.

En el diseñador se creara un archivo con extensión xsd, para nuestro ejemplo si lo abrimos se muestra como sigue:


TIPS

NUESTRO EJEMPLO

En el ejemplo que comparto con ustedes señores desarrolladores, uso la tabla Customers de la Base de datos Northwind, con esta creo dos tablas en Master y cada una la uno a cada uno de los Grids presentes en formulario.

En un segundo aporte relacionado con este incluiré como relacionar o manejar los DataSet no Tipificados, ademas de como instanciarlos.

A continuación sigue código en Visual Basic .Net:

'Tipificado   ---- dsCustomers.xsd
        dsTDatos = New dsCustomers  'deCustomers en un DataSet Tipificado
        'Crear el Adaptador
        Dim daTDatos As New SqlDataAdapter("Select * from ClientesTyped", cn)
        'Llenar el DataSet, creando el DataTable ClientesTyped
        datDatos.Fill(dsTDatos, "ClientesTyped")

        'Origen del Grid Typed
        dgDatosT.DataSource = dsTDatos.Tables("ClientesTyped")
        With dgDatosT   'Opciones del Grid.
            .CaptionText = "DataSet Tipificado"
            .CaptionForeColor = Color.Orange
            .ReadOnly = True
        End With

       'No Tipificado

        dsUDatos = New DataSet
        Dim daUDatos As New SqlDataAdapter("Select * from ClientesUnTyped", cn)
        daUDatos.Fill(dsUDatos, "ClientesUnTyped")
        'Origen del Grid UnTyped
        dgDatosU.DataSource = dsUDatos.Tables("ClientesUnTyped")
        With dgDatosU
            .CaptionText = "DataSet NO Tipificado"
            .CaptionForeColor = Color.Red
            .ReadOnly = True
        End With

El código completo se encuentra en el archivo adjunto al final del artículo. No olviden calificar el PanoramaBox, suerte y... A SEGUIR DESARROLLANDO.

Ing. Fernando Luque Sánchez
CIP 61806


Espacios de nombres usados en el código de este artículo:

System.Data
System.Data.SQLClient


Fichero con el código de ejemplo: FernandoLuque_DataSetsI.zip - Tamaño 17 KB


ir al índice