SQL QUERY in code



Query opnemen in de code.

Je kan natuurlijk een Query maken met de Query-editor, maar als je een query maar éénmalig gebruikt kan je hem ook in je code maken. Je krijgt anders in hele lange waslijst met Queries.
Ik doe dat al jaren door in een string een SQL-opdracht te schrijven en die dan met hExecuteSqlQuery uit te voeren.
Je moet dan wel een Data Source opnemen, die ik altijd Q1 noem.
Zie de code hieronder:



Merk op dat de code voor de SQL niet gecontroleerd wordt door Windev. Ook worden de SQL opdrachten niet gekleurd.

Hieronder een betere oplossing met de variabele SQL QUERY.


Je ziet dat de SQL statements in kleur zijn en gecontroleerd op syntax.
Ook vindt er automatische aanvulling plaats. Als je in dit voorbeeld "qryKlanten." in tikt dat krijg je een lijst met de mogelijke velden.


Kortom een mooie oplossing.

Hieronder een stuk van de  SQL Query Help. 

 SQL query (WLanguage type)

In french: Requêtes SQL (type WLangage)
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 queryHide 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.

Reacties

Populaire posts van deze blog

WDG CHAAM 7 juni 2024

Strato problemen