TSDBQuery - Exemples

TSDBQuery = class (TObject)Interface de TSDBQueryExemples de TSDBQuery

// Exemple d'une requête vers un ERP pour récupérer les commandes
// des clients qui ont commandé plus de 100 unités dans les 30 derniers jours

var db := TSDBQuery.CreateFromDataSource('ERP');

// Définition de la requête paramétrée
db.SQL := #"
   select C.NOM_CLIENT, L.NUM_PRODUIT, L.QUANTITE
   from COMMANDES C left join LIGNES_COMMANDES L on (L.COMMANDE_ID=C.ID)
   where
          L.QUANTITE >= :MIN_QTY
      and C.DATE_COMMANDE >= :MIN_DATE
   ";

// Définition des valeurs des paramètres
db.FloatParam['MIN_QTY'] := 100;
db.DateTimeParam['MIN_DATE'] := Date()-30;

// Exécution de la requête et parcours des données renvoyées
db.Open;
while db.Step do begin
   var nomClient := db.StringField['NOM_CLIENT'];
   var numProduit := db.IntegerField['NUM_PRODUIT'];
   var qty := db.FloatField['QUANTITE'];

   PrintLn(nomClient + ' a commandé ' + FloatToStr(qty)+' unités du produit n°' + IntToStr(numProduit));
end;
db.Close;