dashboard-113928-winforms-dashboard-winforms-designer-create-dashboards-in-the-winforms-designer-providing-data-sql-data-source-connect-to-sql-databases-custom-connection-string.md
The Dashboard Designer allows you to connect to different types of SQL databases in the Data Source Wizard. You can also use data access API to connect to the database and select data in code.
This tutorial describes how to create a custom connection string that allows you to pass additional connection parameters and establish a connection to any database.
Important
The appropriate data provider must be installed on the client machine. For information on data providers, refer to the Data Sources article.
To connect to a database in the Dashboard Designer, follow the steps below:
Click the New Data Source button in the Data Source ribbon tab.
On the first page of the invoked Data Source Wizard dialog, specify whether you want to use an existing data connection or create a new data connection.
On the next page, select Custom Connection String and click Next.
On the next page, specify the Connection string.
Click Next and specify how to select data from the database.
On the final page, you can optionally add query parameters and preview data.
To create a data source that uses a custom connection string to connect to a database, create an instance of the DashboardSqlDataSource class and follow the steps below:
Create the CustomStringConnectionParameters class object and specify the CustomStringConnectionParameters.ConnectionString property.
Create one of the following objects to specify the query:
Add the created DashboardSqlDataSource object to the Dashboard.DataSources collection.
The following code snippet shows how to supply the dashboard with data from the Northwind database deployed on the Microsoft SQL Server by specifying a connection string:
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
CustomStringConnectionParameters customstringParams = new CustomStringConnectionParameters();
customstringParams.ConnectionString = "XpoProvider=MSSqlServer; Data Source=localhost; Initial Catalog=Northwind; User Id=username; Password=password;";
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", customstringParams);
SelectQuery selectQuery = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectColumns("CategoryName", "Extended Price")
.Build("Query 1");
sqlDataSource.Queries.Add(selectQuery);
sqlDataSource.Fill();
dashboard.DataSources.Add(sqlDataSource);
Imports DevExpress.DashboardCommon
Imports DevExpress.DataAccess.ConnectionParameters
Imports DevExpress.DataAccess.Sql
' ...
Dim customstringParams As New CustomStringConnectionParameters()
customstringParams.ConnectionString = "XpoProvider=MSSqlServer; Data Source=localhost; Initial Catalog=Northwind; User Id=username; Password=password;"
Dim sqlDataSource As New DashboardSqlDataSource("Data Source 1", customstringParams)
Dim query As SelectQuery = SelectQueryFluentBuilder _
.AddTable("SalesPerson") _
.SelectColumns("CategoryName", "Extended Price") _
.Build("Query 1")
sqlDataSource.Queries.Add(selectQuery)
sqlDataSource.Fill()
dashboard.DataSources.Add(sqlDataSource)