TSDBQuery.Open
| TSDBQuery = class (TObject) | Interface de TSDBQuery | Exemples 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
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;