PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Declaration syntax: Remarks
  • SQL code of query
  • HFSQL context
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
The "SQL query" type is used to write an SQL query in the WLanguage code. The SQL query is defined and declared. Then, it can be run by HExecuteQuery or HExecuteSQLQuery.
Using the "SQL query" type presents several benefits:
  • Automatic coloring of SQL code in the editor,
  • Assisted input of SQL code,
  • Assisted input on the result items and query parameters,
  • Compilation errors:
    • when an error occurs in the SQL code
    • when using an output item that does not exist.
  • Data binding on the query if it is declared as global to a window,
  • Automatic freeing at the end of variable scope.
Example
qryFlightsStat is SQL Query =
[
SELECT * FROM  Flights
WHERE Flights.DepartureAirportID = {ParamDepartureAirportID}
AND Flights.ArrivalAirportID = {ParamArrivalAirportID}
]
qryFlightsStat.ParamDepartureAirportID = 12
qryFlightsStat.ParamArrivalAirportID = 3

HExecuteQuery(qryFlightsStat)
FOR EACH qryFlightsStat
...
END
Syntax

Declaring an SQL query Hide the details

<Name SQL query> is SQL Query =
[    
   <SQL code of query>
]
<Name SQL query>:
Name of variable corresponding to the SQL query.
<SQL code of query>:
SQL code corresponding to the SQL query associated with the variable.
Remarks

Declaration syntax: Remarks

  • The query must be defined as soon as it is declared. You cannot declare an SQL Query variable then type the corresponding SQL code after several code lines.
  • The data files used in the FROM of the query must be declared in the project analysis. They cannot come from data sources initialized by an alias, external declaration or other request.
  • The query cannot be built with string concatenations. To build a query by concatenating strings, use HExecuteSQLQuery.
  • The SQL query is not run during its declaration. It must be run by HExecuteQuery or HExecuteSQLQuery.
  • When the query is declared and run, it can be used by all HFSQL functions for handling queries.
  • When the SQL query is declared and run, it can be used in another SQL query by using the name of corresponding variable:
    MyInterrogation is SQL Query =
    [
    SELECT * FROM CUSTOMER
    ]
    HExecuteQuery(MyInterrogation)

    OtherInterrogation is string = "SELECT * FROM %1"
    OtherInterrogation = StringBuild(OtherInterrogation, MyInterrogation..Name)

    QryWithMyInterrogation is Data Source
    HExecuteSQLQuery(QryWithMyInterrogation, OtherInterrogation)

SQL code of query

  • This SQL code typed benefits from the syntactic coloring. The SQL keywords are colored (see the example).
  • Completion: The completion is available:
    • for the SQL keywords,
    • for the items and the data files,
    • for the output items of query.
      The assisted SQL input
      The assisted SQL input
  • Compilation errors: In case of error in the SQL code of query, a compilation error occurs (like for WLanguage code).
    Error of SQL code detected in input
    Error of SQL code detected in input
  • Like for an SQL query typed in the query editor, you can:
    • type comments by writing the "--" or "//" character in front of them.
    • type WLanguage functions. The WLanguage functions must be prefixed by "WL.". Assisted input is available.
      Java You cannot run SQL queries containing WLanguage functions.
    • ...

HFSQL context

  • An SQL query is defined in the current HFSQL context. An SQL query cannot exist in a window with independent HFSQL context.
  • An SQL query can be defined as a global variable. In this case, you must pay attention to the HFSQL contexts.
Minimum version required
  • Version 23
This page is also available for…
Comments
Click [Add] to post a comment