Exportar (0) Imprimir
Expandir todo

Tutorial: mostrar datos en una página de formularios Web Forms

Visual Studio .NET 2003

Las páginas de formularios Web Forms proporcionan una gran variedad de maneras para trabajar con datos. En este tutorial se muestra la manera más sencilla.

En el tutorial, se mostrará información de la tabla Categories de Northwind en una cuadrícula de datos de la página. Creará un conjunto de datos, que son datos almacenados en memoria caché, que leerá información de la base de datos. Después enlazará un control DataGrid de servidor Web al conjunto de datos para mostrar los datos.

Nota   La utilización de un conjunto de datos es sólo una de las opciones para el acceso a datos en los formularios Web Forms, y no es la manera más óptima en algunos escenarios. En este tutorial utilizará un conjunto de datos por cuestiones de simplicidad. Para obtener más información, vea Recomendaciones sobre la estrategia de acceso a datos Web.

Para poder completar este tutorial, necesitará:

El tutorial está dividido en varias partes más pequeñas:

  • Crear un proyecto de aplicación Web y una página de formularios Web Forms.
  • Crear y configurar el conjunto de datos al que se enlazará la cuadrícula. Esto incluye crear una consulta que llene el conjunto de datos a partir de la base de datos.
  • Agregar el control DataGrid al formulario y enlazarlo a los datos.
  • Agregar código para llenar el conjunto de datos.

Crear el proyecto y el formulario

El primer paso es crear una aplicación Web y una página de formularios Web Forms.

Para crear el proyecto y el formulario

  1. En el menú Archivo, seleccione Nuevo y haga clic en Proyecto.
  2. En el cuadro de diálogo Nuevo proyecto, haga lo siguiente:
    1. En el panel Tipos de proyecto, elija Proyectos de Visual Basic o Proyectos de Visual C#.
    2. En el panel Plantillas, seleccione Aplicación Web ASP.NET.
    3. En el cuadro Ubicación, escriba la dirección URL completa de la aplicación, incluyendo http://, el nombre del servidor y el nombre del proyecto. El servidor Web debe tener instalado IIS 5 o una versión posterior y .NET Framework. Si tiene instalado IIS en el equipo, puede especificar http://localhost para el servidor. Si suele utilizar un servidor proxy para tener acceso a Internet, puede ser preciso configurar Internet Explorer para que omita el servidor proxy para poder utilizar localhost).

      Cuando hace clic en Aceptar, se crea un nuevo proyecto de formularios Web Forms en el directorio raíz del servidor Web especificado. Además, se muestra una nueva página de formularios Web Forms denominada WebForm1.aspx en la vista Diseño del Diseñador de Web Forms.

      Sugerencia   Si existen problemas al crear el proyecto de aplicación Web, vea Error de acceso al Web (Cuadro de diálogo).

Crear y configurar un conjunto de datos

En este tutorial, agregará un conjunto de datos a la página. El conjunto de datos contendrá una única tabla, la tabla Categories. (Un conjunto de datos puede contener múltiples tablas, pero en este tutorial sólo tendrá una).

El conjunto de datos no existe aún. En lugar de agregarlo manualmente al formulario, seguirá los pasos siguientes:

  • Crear un adaptador de datos con un asistente. El adaptador contiene instrucciones SQL que se utilizan para leer y escribir información en la base de datos. El asistente le ayuda a definir las instrucciones SQL que necesita. Si es preciso, el asistente también crea una conexión a la base de datos.
  • Generar el esquema del conjunto de datos. En este proceso, hará que Visual Studio cree una nueva clase conjunto de datos basándose en las tablas y columnas a las que está obteniendo acceso. Cuando genera la clase conjunto de datos, también agrega una instancia de ella al formulario.

Es importante que siga todos los procedimientos de esta sección. En caso contrario, la página no tendrá el conjunto de datos que se va a utilizar en las siguientes partes del tutorial.

Para obtener información detallada sobre los adaptadores de datos, vea Introducción a los adaptadores de datos. Para obtener más información sobre los conjuntos de datos, vea Introducción a los conjuntos de datos.

Configurar una conexión de datos y un adaptador de datos

Para empezar, cree un adaptador de datos que contenga la instrucción SQL que se utilizará para llenar el conjunto de datos más adelante. Como parte de este proceso, defina una conexión para obtener acceso a la base de datos. Configure el adaptador de datos con el asistente, lo que facilita la creación de las instrucciones SQL necesarias para obtener acceso a los datos.

Nota   Cuando el asistente haya finalizado, debe continuar en la sección siguiente para generar un conjunto de datos y completar la parte de acceso a datos del formulario.

Para crear la conexión de datos y el adaptador de datos

  1. Desde la ficha Datos del Cuadro de herramientas, arrastre un objeto OleDbDataAdapter al formulario.
    Nota   También es posible utilizar SqlDataAdapter, que está optimizado para trabajar con SQL Server 7.0 o posterior. En este tutorial, se utiliza el comando OleDbDataAdapter porque es más genérico y proporciona acceso mediante ADO.NET a cualquier origen de datos compatible con OLE DB.

    Se inicia el Asistente para la configuración del adaptador de datos, que ayuda a crear la conexión y el adaptador.

  2. En el asistente, haga lo siguiente:
    1. En el segundo panel, cree o elija una conexión que apunte a la base de datos Northwind de SQL Server.
      Nota   Necesita permisos de lectura/escritura en el servidor de SQL Server que esté utilizando. Si SQL Server se encuentra en el mismo equipo que IIS, se recomienda especificar la seguridad integrada de Windows al crear la conexión. En caso contrario, puede especificar un nombre de usuario y una contraseña y guardar dicha información con la conexión, pero eso puede afectar a la seguridad. Para obtener más información, vea Acceso a SQL Server desde una aplicación Web.
    2. En el tercer panel, especifique que desea usar una instrucción SQL para obtener acceso a la base de datos.
    3. En el cuarto panel, cree la siguiente instrucción SQL:
      SELECT CategoryID, CategoryName, Description
      FROM Categories
      

      Para obtener ayuda para generar la instrucción SQL, haga clic en Generador de consultas para iniciar el cuadro de diálogo Generador de consultas.

      Nota   En este tutorial llenará el conjunto de datos con todas las filas de la tabla Categories. En aplicaciones de producción, normalmente se optimiza el acceso a datos mediante la creación de una consulta que sólo devuelve las columnas y filas que se necesitan. Para obtener un ejemplo, vea Tutorial: Mostrar datos en un formulario Windows Forms mediante una consulta parametrizada.
    4. Haga clic en Finalizar.

      El asistente crea una conexión (OleDbConnection1) que contiene información sobre cómo tener acceso a la base de datos. También tendrá un adaptador de datos (OleDbDataAdapter1) que contiene una consulta que define la tabla y las columnas de la base de datos a la que desea tener acceso.

  3. Cuando el asistente haya finalizado, genere el conjunto de datos basándose en la consulta SQL que ha creado durante este procedimiento. Para obtener información detallada, vea la siguiente sección.
    Nota   Para obtener más información, haga clic en Ayuda mientras ejecuta el asistente o vea Asistente para la configuración de adaptadores de datos. Para obtener información detallada sobre los adaptadores de datos, vea Introducción a los adaptadores de datos.

Crear el conjunto de datos

Después de haber establecido los métodos para conectarse a la base de datos y de especificar la información que desea (a través del comando SQL del adaptador de datos), puede hacer que Visual Studio cree un conjunto de datos. Visual Studio puede generar el conjunto de datos automáticamente basándose en la consulta que ha especificado para el adaptador de datos. El conjunto de datos es una instancia de la clase DataSet basada en un esquema correspondiente (.xsd file) que describe los elementos de la clase (tabla, columnas y restricciones). Para obtener información detallada acerca de la relación entre los esquemas y los conjuntos de datos, vea Introducción al acceso a datos con ADO.NET.

Para generar un conjunto de datos

  1. Desde el menú Datos, elija Generar conjunto de datos.
    Sugerencia   Si no ve el menú Datos, haga clic en el formulario; el formulario debe tener el foco para que aparezca el menú.

    Aparecerá el cuadro de diálogo Generar conjunto de datos.

  2. Seleccione la opción Nuevo y el nombre del conjunto de datos dsCategories.

    La tabla Categories debería estar seleccionada en la lista que aparece debajo de Elegir las tablas que desea agregar al conjunto de datos.

  3. Active la opción Agregar este conjunto de datos al diseñador y, a continuación, haga clic en Aceptar.

    Visual Studio genera una clase de conjunto de datos con tipo (dsCategories) y un esquema que define el conjunto de datos. Verá el nuevo esquema (dsCategories.xsd) en el Explorador de soluciones.

    Sugerencia   En el Explorador de soluciones, haga clic en Mostrar todos los archivos para ver el archivo .vb o .cs dependiente del archivo de esquema, que contiene el código que define la nueva clase de conjunto de datos.

    Por último, Visual Studio agrega una instancia de la nueva clase de conjunto de datos (DsCategories1) al formulario.

Llegados a este punto, tiene configurado todo lo necesario para obtener información de una base de datos y almacenarla en un conjunto de datos.

Agregar un control DataGrid para mostrar datos

En este tutorial utilizará un control DataGrid de servidor Web para mostrar información de la tabla Categories. También podría utilizar un control DataList o Repeater para obtener los mismos resultados. Sin embargo, el control DataGrid es el más sencillo de configurar (por ejemplo, no es necesario crear ninguna plantilla), lo que le permitirá concentrarse en los aspectos de los datos del tutorial.

Para agregar y configurar el control

  1. Desde la ficha Web Forms del Cuadro de herramientas, arrastre un control DataGrid a la página.
  2. En la parte inferior de la ventana Propiedades, seleccione el vínculo Formato automático y elija un formato predefinido para la cuadrícula.
  3. En la propiedad DataSource, seleccione DsCategories1 como origen de datos. Así se enlaza la cuadrícula al conjunto de datos como un todo
  4. En la propiedad DataMember, seleccione Categories. Si el origen de datos contiene más de un objeto enlazable, puede utilizar la propiedad DataMember para especificar qué objeto enlazar.

    La configuración de estas dos propiedades enlaza la tabla de datos Categories del conjunto de datos DsCategories1 a la cuadrícula.

Llenar un conjunto de datos y mostrar datos en el control DataGrid

Aunque la cuadrícula está enlazada con el conjunto de datos que creó, éste no se rellena automáticamente. Debe rellenarlo usted mismo llamando a un método de adaptador de datos. Para obtener información detallada sobre cómo llenar los conjuntos de datos, vea Introducción a los conjuntos de datos.

Incluso después de llenar el conjunto de datos, el control DataGrid no muestra los datos automáticamente. Debe enlazar de manera explícita la cuadrícula a su origen de datos. Para obtener más información, vea Introducción al enlace de datos en las páginas de formularios Web Forms.

Para llenar el conjunto de datos y mostrar los datos en el control DataGrid

  1. Haga doble clic en la página para mostrar el archivo de clase de la página en el Editor de código.
  2. En el controlador de eventos Page_Load, llame al método Fill del adaptador de datos, pasándole el conjunto de datos que desea llenar:
    OleDbDataAdapter1.Fill(DsCategories1)
    
  3. Llame al método DataBind del control DataGrid para enlazar el control al conjunto de datos.

    No es necesario volver a llenar el conjunto de datos y enlazar la cuadrícula en cada acción de ida y vuelta. Una vez que el control DataGrid se ha rellenado con los datos, sus valores se conservan en el estado de vista cada vez que se envía la página. Por lo tanto, sólo es necesario llenar el conjunto de datos y enlazarlo a la cuadrícula la primera vez que se llama a la página. Puede hacer una prueba utilizando la propiedad IsPostBack de la página.

    El controlador completo puede tener el siguiente aspecto:

    ' Visual Basic
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       'Put user code to initialize the page here
       If Not IsPostBack Then
          OleDbDataAdapter1.Fill(DsCategories1)
          DataGrid1.DataBind()
       End If
    End Sub
    
    // C#
    private void Page_Load(object sender, System.EventArgs e)
    {
       // Put user code to initialize the page here
       if ( !IsPostBack)
       {
          oleDbDataAdapter1.Fill(dsCategories1);
          DataGrid1.DataBind();
       }
    }
    

Pruebas

Después de agregar el código, pruebe el acceso a datos en la página de formularios Web Forms.

Para probar la página de formularios Web Forms

  1. Guarde la página.
  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en la página y elija Ver en el explorador.

    Compruebe que en la cuadrícula se muestra una lista de categorías.

Pasos siguientes

  • Dar formato a la cuadrícula cambiando su color, fuente, etc.
  • Mostrar sólo la información seleccionada en la cuadrícula. En muchos casos, basará la presentación en información que el usuario proporciona en tiempo de ejecución (por ejemplo, podría mostrar sólo los autores de una ciudad determinada). Para ello, cree una consulta parametrizada. Para obtener más información, vea Tutorial: mostrar datos en un formulario Windows Forms mediante una consulta parametrizada.
  • Utilice un lector de datos en lugar de un conjunto de datos como origen de datos para la cuadrícula. En una página como ésta, donde los datos son de sólo lectura, suele ser más eficiente obtener los datos directamente de la base de datos en vez de crear primero un conjunto de datos y luego llenarlo. Para ver un ejemplo, vea Tutorial: crear acceso a datos de sólo lectura en una página de formularios Web Forms.
  • Separar el acceso a datos de la interfaz de usuario. En este tutorial, ha creado un formulario que tiene acceso a datos de una forma más o menos directa (a través del conjunto de datos). Un diseño más flexible y fácil de mantener es crear un componente de acceso a datos que controle el acceso a datos. El formulario (es decir, la interfaz de usuario) podría interactuar con el componente según fuera necesario. Varios formularios (y otros componentes) podrían utilizar el mismo componente, lo que elimina la sobrecarga y la redundancia de nuevos diseños de acceso a datos para cada formulario que se cree. Para obtener información detallada acerca de la creación de un acceso a datos basado en componentes, vea Tutorial: crear una aplicación distribuida.
  • Conozca los problemas de seguridad asociados con los formularios Web Forms. Para obtener información detallada, vea Información general sobre las amenazas para la seguridad de las aplicaciones.

Vea también

Acceso a datos en las páginas de formularios Web Forms | Introducción a conjuntos de datos

Mostrar:
© 2014 Microsoft