Bind a Report to a Database

This tutorial demonstrates how to bind a report to a hierarchical data source at design time in Visual Studio and specify a master-detail relationship between data source queries.

Do the following to accomplish this task:

  1. Click the report's smart tag. In the invoked actions list, expand the drop-down menu for the DataSource property and click Add Report Data Source...

    how-to-ef-datasource01

  2. On the first page of the invoked Data Source Wizard, select Database and click Next to proceed.

    data-source-wizard-select-type-page

  3. The next page allows you to specify whether you want to use an existing data connection available in the Visual Studio® Server Explorer or create a new data connection from scratch. Select the first option to create a new connection and click Next.

    data-source-wizard-specify-data-connection

  4. On the next page, you can define a custom connection string, or select one of the supported data providers.

    Depending on the data provider selected, it may be necessary to specify additional connection options (such as the authentication type and database name) on this page.

    In this example, the report will be bound to a sample Northwind database hosted on a Microsoft SQL Server.

    data-source-wizard-mssqlserver-connection-properties

    To proceed to the next wizard page, click Next.

  5. Click Next on the following page to save the created connection string to the configuration file.

    data-source-wizard-mssqlserver-save-connection

  6. On the next page, you can choose which tables, views and/or stored procedures to add to the report.

    To create a master-detail report, select two or more tables and click Manage Relations.

    winforms-report-wizard-select-tables-edit-relations

    In the invoked editor, connect the required key fields (columns) using drag and drop.

    winforms-report-wizard-master-detail-relations-editor

    Click OK to close the editor.

    Note

    When you are required to shape data at the level of a data source, you can create custom queries by expanding the Queries category and clicking the report-wizard-multi-query-page-icon-add button.

    This will invoke the Query Builder where you can create complex queries by joining multiple tables, filtering, sorting and grouping their data, as well as calculating various aggregate functions.

    Although it is also possible to join different tables within a single query, creating hierarchical data sources is preferred in most cases to provide better performance (in general, master-detail reports are generated faster than similar-looking reports created by grouping "flat" data sources).

    Click Finish to complete the Data Source Wizard. If the selected queries or stored procedures contain any parameters, you can go to the next wizard page and define their values.

The newly created SQL data source will be displayed in the Components node of the Report Explorer. Additionally, the hierarchy of the data source will be reflected by the Field List. In both panels, you can right-click the data source to access its settings.

report-explorer-field-list-sqldatasource

See Also