DashboardDesigner.ValidateCustomSqlQuery Event

Provides the capability to check the validity of the custom SQL query used to supply the dashboard with data.

Namespace: DevExpress.DashboardWin

Assembly: DevExpress.Dashboard.v18.1.Win.dll

Declaration

public event ValidateDashboardCustomSqlQueryEventHandler ValidateCustomSqlQuery
Public Event ValidateCustomSqlQuery As ValidateDashboardCustomSqlQueryEventHandler

The event handler receives an argument of the ValidateDashboardCustomSqlQueryEventHandler type.

The ValidateCustomSqlQuery event is raised each time the custom SQL query, which is used to supply the dashboard with data, needs to be validated. This is true if the DashboardSqlDataSource is used as a dashboard data source and the CustomSqlQuery is used to select data. For instance, the DashboardDesigner fires the ValidateCustomSqlQuery event for each custom SQL query in the following cases.

Use the ValidateDashboardCustomSqlQueryEventArgs.ConnectionName/ValidateDashboardCustomSqlQueryEventArgs.ConnectionParameters properties to obtain the details of the connection to the SQL database. The ValidateDashboardCustomSqlQueryEventArgs.DataSourceComponentName event parameter returns the component name of the data source for which the event was raised. Finally, the ValidateDashboardCustomSqlQueryEventArgs.CustomSqlQuery event parameter returns the checked SQL query.

By default, a custom query used to obtain data from the SQL database should contain only SELECT statements. If the custom query contains not only SELECT statements, or the query is specified incorrectly, the ValidateDashboardCustomSqlQueryEventArgs.Valid property is set to false. The ValidateDashboardCustomSqlQueryEventArgs.ExceptionMessage property returns corresponding exception message.

If necessary, you can check the validity of the custom SQL query manually and override the value of the ValidateDashboardCustomSqlQueryEventArgs.Valid flag and corresponding ValidateDashboardCustomSqlQueryEventArgs.ExceptionMessage message.

Important

Note that the default validation is performed if the SqlDataSource.DisableCustomQueryValidation property is set to false.