Compartir a través de


Lección 4: Definición de una conexión de datos y una tabla de datos para el informe secundario

Después de diseñar el informe primario, el paso siguiente es crear una conexión de datos y una tabla de datos para el informe secundario.

Los ejemplos de código de Transact-SQL de este artículo utilizan la base de datos de ejemplo AdventureWorks2022 o AdventureWorksDW2022, que se puede descargar desde la página principal de Ejemplos y proyectos de la comunidad de Microsoft SQL Server.

Para definir una conexión de datos y una DataTable con un DataSet (para el informe secundario)

  1. En el menú Sitio web , seleccione Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, selecciona DataSet y, después, haz clic en Agregar. Cuando se le pida, debe agregar el elemento a la carpeta App_Code ; para ello, haga clic en .

    Esta acción agrega un nuevo archivo XSD DataSet2.xsd al proyecto y abre el Diseñador de DataSet.

  3. En la ventana del Cuadro de herramientas, arrastre un control TableAdapter hasta la superficie de diseño. Esta acción inicia el Asistente para configuración de TableAdapter.

  4. En la página Elegir la conexión de datos , puede seleccionar la conexión que ha creado en la lección 2. Si lo haces, selecciona Siguiente y ve al paso 8. En caso contrario, seleccione Nueva conexión.

  5. En el cuadro de diálogo Agregar conexión , realice los pasos siguientes:

    1. En el cuadro Nombre del servidor , escriba el servidor donde se encuentra la base de datos AdventureWorks2022.

      La instancia de SQL Server Express predeterminada es (local)\sqlexpress.

    2. En la sección Iniciar sesión en el servidor , seleccione la opción que proporciona acceso a los datos. Usar autenticación de Windows es el valor predeterminado.

    3. En la lista desplegable Selecciona o escribe un nombre de base de datos, haz clic en AdventureWorks2022.

    4. Seleccione Aceptar y después Siguiente.

  6. Si has seleccionado Usar autenticación de SQL Server en el paso 5 (b), selecciona la opción si quieres incluir la información confidencial en la cadena o establecer la información en tu código de aplicación.

  7. En la página Guardar la cadena de conexión en el archivo de configuración de la aplicación, escribe el nombre de la cadena de conexión o acepta el predeterminado AdventureWorks2022ConnectionString. Seleccione Siguiente.

  8. En la página Elegir un tipo de comando, selecciona Usar instrucciones SQL y después haz clic en Siguiente.

  9. En la página Escriba una instrucción SQL, escriba la siguiente consulta de Transact-SQL para recuperar los datos de la base de datos AdventureWorks2022 y seleccione Siguiente.

    SELECT PurchaseOrderID, PurchaseOrderDetailID, OrderQty, ProductID, ReceivedQty, RejectedQty, StockedQty FROM Purchasing.PurchaseOrderDetail  
    

    También puedes crear la consulta si haces clic en Generador de consultas y, después, comprobar la consulta al hacer clic en Ejecutar consulta.

  10. En la página Elegir los métodos que se van a generar , desactive Crear métodos para enviar actualizaciones directamente a la base de datos (GenerateDBDirectMethods) y seleccione Finalizar.

    Advertencia

    Asegúrese de desactivar Crear métodos para enviar actualizaciones directamente a la base de datos (GenerateDBDirectMethods)

    Has configurado el objeto DataTable de ADO.NET como origen de datos para el informe. En la página del Diseñador de Dataset en Visual Studio, debería ver el objeto DataTable que ha agregado, con las columnas especificadas en la consulta. DataSet2 contiene los datos de la tabla PurhcaseOrderDetail, según la consulta.

  11. Guarde el archivo.

  12. Para obtener una vista previa de los datos, selecciona Vista previa de los datos en el menú Datos y haz clic en Vista previa.

Paso siguiente

Has creado correctamente una conexión de datos y una tabla de datos para el informe secundario. Después, diseñarás el informe secundario mediante el Asistente para informes. Consulta Lección 5: Diseño del informe secundario mediante el Asistente para informes.