Trois onglets proposent les trois types de requêtes :
- directe (chaîne SQL libre)
- préparée (initialisation dans un premier temps, exécution(s) dans un second temps)
- pré-définie (requête créée et nommée dans l'éditeur de requêtes)
Il est possible d'utiliser toutes les fonctionnalités et mots clés SQL.
Directe
Marequete est une Source de Données
srequete est une chaîne
SI HExécuteRequêteSQL(Marequete,hRequêteDéfaut,"SELECT * FROM SP_CUST") ALORS
Info(HListeRubrique(Marequete))
sResultat est une chaîne
HLitPremier(Marequete)
TANTQUE PAS HEnDehors(Marequete)
sResultat=sResultat+Marequete.cust_id+Marequete.firstname+Marequete.lastname+RC
HLitSuivant(Marequete)
FIN
Info(sResultat)
FIN
Préparée
Marequete est une Source de Données
srequete est une chaîne
// préparation
srequete="UPDATE Sp_cust SET City = :Param1 WHERE Sp_cust.City =
SI HPrépareRequêteSQL(Marequete,PrinciConnexion,hRequêteSansCorrection,srequete) ALORS
Info("Requête préparée...")
SINON
Info(HErreurInfo())
FIN
// Exécution
Marequete.Param1=SAI_PARAM1
Marequete.Param2=SAI_PARAM2
SI SAI_PARAM1="" OU SAI_PARAM2="" ALORS
Info("Il faut renseigner les paramètres...")
RETOUR
FIN
// Initialisation de la requête "Client"
SI PAS HExécuteRequêteSQL(Marequete)
Info(HErreurInfo(hErrNatif))
FIN
Pré-définies
La requête REQ_Exemple2 a été créée dans l'éditeur de requêtes.
Elle prend deux paramètres qu'on initialise avant l'appel par HExecuteRequete.
Attention !!! Les quotes ne sont pas automatiquement insérées et doivent être ajoutées avant et après les valeurs :
REQ_Exemple2.Param1="'"+SAI_P1+"'"
REQ_Exemple2.Param2="'"+SAI_P2+"'"
SI HExécuteRequête(REQ_Exemple2,PrinciConnexion,hRequêteSansCorrection) ALORS
HLitPremier(REQ_Exemple2,Cust_id)
Info("Requête exécutée..."+RC+REQ_Exemple2.Cust_id+" - "+REQ_Exemple2.Order_id+" - "+ REQ_Exemple2.Order_date)
SINON
Info(HErreurInfo())
FIN