Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Easy Heading Macro
headingIndent40
navigationTitleOn this page
selectorh2,h3
wrapNavigationTexttrue
navigationExpandOptiondisable-expand-collapse
This page presents information about  Visual SQL Query Builder.

Info
iconfalse

Quick video tutorial

Introduction

Overview

Our Visual SQL Query Builder

allows

enables you to preview

and rapidly

, connect, build, and test your SQL queries before

using

incorporating them

in

into your project.

The Visual Query Builder runs as an independent tools in its own window. You can access it at the page Datasets → DBs.

On this page:

Table of Contents
maxLevel3
stylenone


Feature Highlights

  • Seamlessly connect

  • Connect

    , build, and test queries

    with

    using a visual interface

    in

    within the same design environment

    – no need to install or open additional software

    .

  • Visually select databases, tables, and columns for easy navigation and understanding.

  • Visually create

    Create relationships (joins) between entities using a visual approach.

  • Every visual item and action

    build

    automatically generates the SQL query

    for you

    in real-time.

  • Test your query

    in

    within the builder to

    verify

    ensure you

    are getting

    obtain the desired data

    you want

    before

    using

    integrating the query

    in

    into your project.

  • Everything working as you please? Copy and paste your new query wherever you need ­— and you are assured it will work because you have already tested it.

Image Removed

Once everything works according to your requirements, simply copy and paste the new query wherever needed. You can be confident that it will function as intended because it has already been tested.


Using the Queries

Using the queries

on the Dataset Module

Several different query languages may can be used to perform a range of simple to complex database queries.

Most database administrators are familiar with SQL since it is the most well-known and widely used query language. 

A query can be executed in a project solution through a couple different methodslocations. Below you will find them listed with a short description.

Method

Location 1: WhereCondition for DatasetTables

The first method location you can use is the WhereCondition. In this case, the data query will be performed in a table, created at Edit → Datasets → Tables. Since the table is already selected, you only need to supply the conditional. You must also run SelectCommand to update the query.

Creation of a TableImage Removed

Info
titleAdditional information

Check out "Appendix A" for more information

Method 2: Query

Image Added


Location 2: Set the SqlStatement on Scripts

The second location The second method is similar to the first one, but it uses a query, created at Edit Datasets → Queries and linked to a provider (see image below)., and sets its contents 

To execute the query, you need to select one of the tables from the database and the condition that you want to filter the data. You need to run SelectCommand to update the query.

Code Block
languagec#
@Dataset . Query . Query1 .SqlStatement Sql Statement = ” s e l e cselec t ? from Table1 where 
UTCTimestamp  Ticks>UTCTimestampTicks>=”   +  StartTime StartTime.UtcTicks Utc +  ” Ticks  +  ” and  and   UTCTimestamp  Ticks<UTCTimestampTicks<=”   +
EndTime . Utc Ticks + ”” ;
@Tag . TableTag = @Dataset . Query . Query1 . SelectCommand () ;

Image Added


Location 3: SqlStatement on Dataset Queries

Image Removed

Info
titleAdditional information

Check out "Appendix A" for more information

Method 3: Different Location

This alternative uses the same statement as shown above, but in a different location. Instead of writing it in a task/class or CodeBehind, it can be placed directly into Edit → Datasets → Queries → SqlStatement Column., using the Build-in SQL Editor

Image Added


Customizing the Query with Tag Properties

You can customize your query in the database through

Image Removed

Method 4: SQL Query Builder

The last option is to use a feature called SQL Query Builder, found at Edit → Datasets. It is a graphic interface that facilitates the creation of SQL Statements based on a specific provider. This method is not as usual as the others, so more details regarding its functionalities will be explained below.

Image Removed

Customize the query with Tag Properties

For the SQLStatement, which is a property of the Query, and for the WhereCondition, which is the property of the Table of the Dataset.

, you can customize your query in the database. They are properties of type Server, so if you modify this property via Script, either on the server or on the clients, the property value will be synced between all clients.

However, we created the possibility for the user to configure Client Tags in the configuration of these properties. For example:

String1: Select * from {tagTable} where {tagWhereCondition}

Where "tagTable" and "tagWhereCondition" are Client tags.

Note that String1 will always be the same, and will not being be modified in the scripts. What will change is the tags of type Client. When we execute the SelectCommand or SelectCommandWithStatus methods, we resolve these tags in the client's context, passing to the server to correct the right query. Multiple clients can use the same query or table without conflict. Although, they will still be entering the same execution queue on the server (this does not mean multi-threading).

To summarize, you could even just put a { tagSQLStatementClient } in the SQLStatement, and the content of the query would be what was in that tag, specific to each client. It is important to remember that, in this case, it makes no sense to use the Select and Next properties, as they are only for server execution.


How to Use the SQL Query Builder

In order to Edit the queries, you can use the BuiltIn SQL Query editor, which assets on formatting the coloring the SQL Syntax. 

But, in some cases, it would be useful to create a query visually, dragging and dropping connections among the tables. That is purpose of the Tool "Visual Query Builder".

That tools runs on its own window, and you can activate it from the Datasets → DBs page

Loading Data

Before beginning, you need to make sure your databases and providers are configured correctly in the project. The first thing you need to do is load the data into the Query Builder. To do so, open the builder and click the Connect button in the top-left corner.

Connect button locationImage RemovedConnect button locationImage Added


A popup will appear with a combo-box containing many types of providers. Select the one you will work with. In this example, we will set up a connection to a SQLite DB.

Connection Type drop-down list optionsImage RemovedConnection Type drop-down list optionsImage Added


Now, we need to configure the path to the database. The path is the same one seen below in the Connection String’s DataSource field.

DataSource pathImage RemovedDataSource pathImage Added


If you wrote the correct path, you should be able to see all available tables and their elements in the right corner. Double-click one of the them to load its elements into the Sub-Query Structure.

Table1 elementsImage RemovedImage Added

Inspecting Properties

The Properties button is located in the top left corner. When you select it, a popup will open with the Query Builder's customizable properties.

The image below shows all properties that are available to be customized.  

Query Builder Properties optionsImage RemovedQuery Builder Properties optionsImage Added

Creating Statements

After the selected table is loaded into the sub-query structure, a statement will be initialized at the bottom of the page. 

You can filter individual columns from the table by selecting specific checkboxes. When you do, the system will filter the table results based on your selection. If you do not select any checkboxes, the table will have not have any filters. 

Image RemovedImage Added


The columns allow you to add conditions which filter values from the table.

The column options are:

  • Visible: Remove the entire column from the query results.

  • Expression: The original column name.

  • Column Name: Give a table, or a column in a table, a temporary name. Aliases are often used to make column names more readable. An alias only exists for the duration of the query.

  • Sort Type: Sort the results in ascending or descending order.

  • Sort Order: Sort the order of the columns in the results.

  • Aggregate: The values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning. E.g.: Avg, Count, Sum.

  • Grouping: Group column elements. Enable creating filter conditions for groups.

  • Criteria: Criteria for the selection condition E.g.: =, >, <, ! =.

  • Or: Same as the Criteria.

Statement Example

To better illustrate the query builder feature, we will create an example which assumes the following requirements for our query result:

  • Only the UTCTimestamp Ticks and HistoricalTag columns are required.

  • All column names need to be easily understandable.

  • Elements will be sorted in ascending order.

  • We only want the

    HistoricaTag

    HistoricalTag values between 10 and 35.

Fill in the columns with these requirements as seen in the image below. 


Columns completion exampleImage RemovedColumns completion exampleImage Added


If everything was filled in correctly, the final SQL Statement generated by the Query Builder should be:

Code Block
Select Table1 . Historical Tag As TagValue , Table1 . UTCTimestamp Ticks As Date
From Table1
Where Table1 . Historical Tag = Table1 . Historical Tag > 10 And Table1 . Historical Tag <= 35
Order By TagValue , Date



Video Tutorial (Legacy)

Widget Connector
width650
urlhttps://www.youtube.com/watch?v=T-J2pmMgj10
height500


In this section

...

:

Page Tree
root@parent
spacesV10