Back to Devexpress

SelectQueryFluentBuilder.Build(String) Method

corelibraries-devexpress-dot-dataaccess-dot-sql-dot-selectqueryfluentbuilder-dot-build-x28-system-dot-string-x29.md

latest9.4 KB
Original Source

SelectQueryFluentBuilder.Build(String) Method

Ends the chain of methods specified for a SelectQueryFluentBuilder.

Namespace : DevExpress.DataAccess.Sql

Assembly : DevExpress.DataAccess.v25.2.dll

NuGet Package : DevExpress.DataAccess

Declaration

csharp
public SelectQuery Build(
    string queryName
)
vb
Public Function Build(
    queryName As String
) As SelectQuery

Parameters

NameTypeDescription
queryNameString

A String value, specifying the query name.

|

Returns

TypeDescription
SelectQuery

A SelectQuery object.

|

Remarks

The chain of SelectQueryFluentBuilder methods must end with calling the Build method accepting the query name as a parameter.

In the following example, a query selects and orders records from a single data table.

csharp
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ... 

private SqlDataSource BindToData() {
    // Create a data source with the required connection parameters. 
    Access97ConnectionParameters connectionParameters =
    new Access97ConnectionParameters("../../Data/nwind.mdb", "", "");
    SqlDataSource ds = new SqlDataSource(connectionParameters);

    // Return a list of categories sorted by the number of products in each category. 
    // The chain ends with calling the Build method accepting the query name as a parameter.
    SelectQuery query = SelectQueryFluentBuilder
        .AddTable("Products")
        .SelectColumn("CategoryID")
        .GroupBy("CategoryID")
        .SortBy("ProductID", AggregationType.Count, System.ComponentModel.ListSortDirection.Descending)
        .Filter("[CategoryID] != 8")
        .Build("MyQuery");

    // Add the query to the collection and return the data source. 
    ds.Queries.Add(query);
    return ds;
}
vb
Imports DevExpress.DataAccess.ConnectionParameters
Imports DevExpress.DataAccess.Sql
' ... 

Private Function BindToData() As SqlDataSource
    ' Create a data source with the required connection parameters.  
    Dim connectionParameters As New Access97ConnectionParameters("../../Data/nwind.mdb", "", "")
    Dim ds As New SqlDataSource(connectionParameters)

    ' Return a list of categories sorted by the number of products in each category.  
    ' The chain ends with calling the Build method accepting the query name as a parameter. 
    Dim query As SelectQuery = SelectQueryFluentBuilder.
        AddTable("Products").
        SelectColumn("CategoryID").
        GroupBy("CategoryID").
        SortBy("ProductID", AggregationType.Count, System.ComponentModel.ListSortDirection.Descending).
        Filter("[CategoryID] != 8").
        Build("MyQuery")

    ' Add the query to the collection and return the data source.  
    ds.Queries.Add(query)
    Return ds
End Function

The following code snippets (auto-collected from DevExpress Examples) contain references to the Build(String) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

data-access-library-create-data-sources-at-runtime/CS/SqlDataSourceSnippets/Code.cs#L25

csharp
{
    SelectQuery query = SelectQueryFluentBuilder
                        .AddTable("Categories")

DashboardUserBasedAspNetCore/CS/Code/CustomDataSourceStorage.cs#L23

csharp
DashboardSqlDataSource sqlDataSource1 = new DashboardSqlDataSource(sqlDataSourceId1, "NorthwindConnectionString");
SelectQuery query1 = SelectQueryFluentBuilder
    .AddTable("Categories")

dashboard-blazor-server-multi-tenancy/CS/BlazorAuth/Code/CustomDataSourceStorage.cs#L22

csharp
DashboardSqlDataSource sqlDataSource1 = new DashboardSqlDataSource(sqlDataSourceId1, "NorthwindConnectionString");
SelectQuery query1 = SelectQueryFluentBuilder
    .AddTable("Categories")

reporting-winforms-sql-data-source-runtime/CS/RuntimeSqlDataSourceReportSample/QueryHelper.cs#L12

csharp
{
    SelectQuery query = SelectQueryFluentBuilder
        .AddTable("Categories")

reporting-web-customize-web-report-wizard/CS/MvcWizardCustomization/Utils.cs#L10

csharp
// Create a SQL query to access the Products data table.
SelectQuery query = SelectQueryFluentBuilder.AddTable("Products").SelectAllColumnsFromTable().Build("Products");
ds.Queries.Add(query);

data-access-library-create-data-sources-at-runtime/VB/SqlDataSourceSnippets/Code.vb#L21

vb
Private Sub SelectQueryCreation()
    Dim query As SelectQuery = SelectQueryFluentBuilder.AddTable("Categories").SelectColumn("CategoryName").GroupBy("CategoryName").Join("Products", "CategoryID").SelectColumn("ProductName", AggregationType.Count, "ProductCount").SortBy("ProductName", AggregationType.Count, System.ComponentModel.ListSortDirection.Descending).GroupFilter("[ProductCount] > 7").Build("Categories")
    DataSource.Queries.Add(query)

reporting-winforms-sql-data-source-runtime/VB/RuntimeSqlDataSourceReportSample/QueryHelper.vb#L13

vb
Public Shared Function CreateSelectQuery() As SqlQuery
    Dim query As SelectQuery = SelectQueryFluentBuilder.AddTable("Categories").
        SelectColumn("CategoryName").

reporting-winforms-use-a-custom-function-in-query-expression/VB/SelectQueryWindowsFormsApplication/Form1.vb#L25

vb
' Create a query and specify its SELECT expression.
Dim query As SelectQuery = SelectQueryFluentBuilder.AddTable("Products").SelectColumn("CategoryID").GroupBy("CategoryID").SelectExpression("StDev([Products].[UnitPrice])", "PriceDeviation").Build("Products")

reporting-winforms-bind-mdb-with-select-query/VB/RuntimeBindingToMdbDatabase/Form1.vb#L28

vb
' to end the chain of methods.
Dim query As SelectQuery = SelectQueryFluentBuilder.AddTable("Categories").SelectColumn("CategoryName").GroupBy("CategoryName").Join("Products", "CategoryID").SelectColumn("ProductName", AggregationType.Count, "ProductCount").SortBy("ProductName", AggregationType.Count, System.ComponentModel.ListSortDirection.Descending).GroupFilter("[ProductCount] > 7").Build("selectQuery")

reporting-winforms-filter-report-data-query/VB/QueryParametersRuntime/XtraReport1.vb#L26

vb
' Create a query to access fields of the Products data table.
Dim query As SelectQuery = SelectQueryFluentBuilder.AddTable("Products").SelectColumns("CategoryID", "ProductName").Build("Products")

See Also

SelectQueryFluentBuilder Class

SelectQueryFluentBuilder Members

DevExpress.DataAccess.Sql Namespace