vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014
-
7 avril 2009 à 16:55
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
5 oct. 2009 à 15:55
Bonjour je fais une requete Select, je voudrais savoir comment me positionner sur la réponse n°3 par exemple.
Merci par avance,
// On execute la requete Select qu'on va utiliser apres
Form2.SQLQuery1.SQL.Clear;
Form2.SQLQuery1.SQL.Add('select Date from Test order by Date DESC');
Form2.SQLQuery1.Open;
// On positionne le resulat du select sur la ligne correspond à la selection du DbGrid
Form2.SQLQuery1.RecNo:=3; <-- Mais ca marche pas !!!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 9 avril 2009 à 22:16
Honnêtement "select Date from Test order by Date DESC" est loin d'être optimisé. En effet, récupérer la colonne date de toute une table quand on ne souhaite récupérer qu'une seule ligne, quel gâchis !
Seconde remarque : évite de nommer tes champs avec des mots réservés du langage SQL. Ici, le champ date en est une parfaite illustration et, de plus, ce champ n'a aucune signification sur son contenu. Une date : ok, mais la date de quoi ???
Pour restreindre à une ligne l'ensemble de données à récupérer, il suffit d'ahouter une clause WHERE dans ta requête.
Pour finir, donnes-toi la peine d'étudier un minimum le langage SQL si tu veux progresser et ne pas buter en permanence sur des questions aussi simples.
May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 5 oct. 2009 à 15:55
@vieuxpere et @tilab : attention, la clause "LIMIT" n'est pas reconnue par tous les SGBD. Et comme tu n'as pas précisé quelle base de données tu utilisais, ce n'est pas forcément valable.