TSDBQuery.Open

TSDBQuery = class (TObject)Interface de TSDBQueryExemples de TSDBQuery

Description de Open

Syntaxe

procedure Open()

Remarques

Permet d'effectuer une requête SQL qui renvoie des données (par exemple requête SELECT), qu'on pourra ensuite parcourir.

NB : les types des champs renvoyés sont ceux du premier enregistrement reçu. Il faut donc que le type d'un même champ soit homogène entre les enregistrements successifs, sinon on peut avoir des conversions non désirées.
Exemple : si la requête renvoie un champ avec la fonction COALESCE( float_field , 0), si le champ float_field est null pour le premier enregistrement, la base va renvoyer l'entier 0 et la TSDBQuery considèrera que ce champ doit contenir un entier. Ce qui fait qu'il y aura une conversion en entier pour toutes les lignes suivantes non null.
Dans ce cas, il faudrait plutôt préciser une valeur par défaut float : COALESCE( float_field , 0.0 )

Exemples

uses SDB;

var sdbQuery := TSDBQuery.CreateFromDataSource('MySource');

sdbQuery.SQL := #"
   select login
   from USERS
";

sdbQuery.Open;
try
   while sdbQuery.Step do
      PrintLn(sdbQuery.StringField['login']);
finally
   sdbQuery.Close;
end;

Classification

SDB TSDBQuery