PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Avis des experts sur la fonction d'écrire une requete
Avis des experts sur la fonction d'écrire une requete
Débuté par NdToure, 22 nov. 2023 14:21 - 2 réponses
Membre enregistré
311 messages
Popularité : +3 (5 votes)
Posté le 22 novembre 2023 - 14:21
Bonjour à tous,
Je voudrais avoir l'avis des experts sur la meilleurs façon d'écrire cette requêtes simple:
L'objectif c'est de séparer le code métier et la base de données .Je suis sous HFSQL demain ca pourra étre Mysql ou Oracle
Supprimé un client en passant son id en paramétre:
Version 1: Code sql simple
CodeSql est une chaine="SELECT FROM Client Where Client.IDClient ="+id

version 2 : En passant par les indirections

nomfic est une chaîne="Client"
sqlCode est une chaîne="DELETE FROM "+{nomfic}+ " Where "+ {nomfic+".IDClient"}+"="+id

Bon dev

--
Développeur freelance en PHP laravel et produit PCSOFT.En cas de besoin veuillez me contacter (groupesysteme01@gmail.com).
Membre enregistré
26 messages
Posté le 02 décembre 2023 - 19:47
J'utiliserais un delete avec le nom de la table et celui de la colonne en dur.
Posté le 02 décembre 2023 - 23:52
Bonsoir,

Aucune des solutions n’est bonne car elles sont sujettes à l’injection SQL. Il faut que vous utilisiez des paramètres dans vos requêtes SQL et que celles-ci ne soient pas écrites dynamiquement à chaque changement de l’id. De plus, le plan d’exécution serait différent à chaque fois car selon le moteur de base de données utilisé, il considèrera une requête différente à chaque fois et c’est donc très mauvais pour les performances.

https://doc.pcsoft.fr/?2032032&name=utilisation_une_requete_parametree