Bonjour,
Delphi 10, mais c'est vrai que c'est loin d'être clair puisque cela couvre Berlin à Rio en passant par Tokyo on a presque fait le tour du monde

De plus la "saveur" CE, Pro, Entreprise ou Architecte ferait qu'il y aura des contraintes de fonctionnalités à ma souvenance SQL server n'est accessible avec Firedac qu'à partir de la version entreprise. Ce qui explique peut-être le choix ADO
Ou, selon budget et version, à ZEOSDBO. D'une manière je suis contre ADO mais ça c'est mon choix
Pour en revenir à votre code ma question serait plutôt pourquoi un Locate

une requête paramétrée
SELECT * FROM TABLE WHERE WILAYA=:W serait beaucoup plus rapide et efficace et moins consommatrice de données, vous rendez vous compte qu'à chaque fois vous récupérez toute la table avant de pouvoir faire votre Locate

Ce qui était valable pour BDE et Paradox ne l'est certainement pas pour un SGBD ! AMHA c'est tout le traitement qui est à revoir.
Pour en revenir à ADO et les fonctions Findkey (non implémentée) et Locate
Findkey est remplacée par Seek mais plusieurs conditions doivent être réalisées pour que cela fonctionne (CursorLocation = clUseServer, TableDirect = True et un nom d'index)
Locate a une syntaxe à respecter
Locate('WILAYA',wilaya,[loPartialKey]);Mais,encore une fois, une requête sera beaucoup plus rapide
Partager