IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

acceder directement a une ligne d'un datasource


Sujet :

Bases de données Delphi

  1. #1
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut acceder directement a une ligne d'un datasource
    Bonjour,

    Je voudrais simplement savoir si il est possible d'acceder directement à une ligne d'un dataset en lui fournissant uniquement un entier(correspondant à la ligne du dataset que je souhaite lire). Actuellement j'utilise First et une boucle avec mon entier comportant un Next.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure positionnerDataset(ligne:integer);
    With dataset do
    begin
      Open;
      First;
    For i:=0 to ligne-1 := next;
    end;
    Mais il y a surement plus simple et plus rapide, non?

    @+.
    For crying out loud !

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    bonjour

    Pourquoi ne pas utiliser la methode locate ?
    @+

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Il existe aussi MoveBy !

    Pour se déplacer de 10 enregs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      DataSet.MoveBy(10);
    @+ Claudius

  4. #4
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Citation Envoyé par WolffN
    Pourquoi ne pas utiliser la methode locate ?
    Effectivement cela pourrais marcher, mais cette méthode fait une recherche sur la valeur d'un champs...
    Alors je devrais rajouter un champs à ma base (entier) dans lequel je stock le numéro de ligne...Ca risque d'être lourd à gérer à terme, non?

    En fait ce qui serais idéale c'est une fonction qui me ferais directement aller a la ligne 4 par exemple, quelque soit les valeurs qui existent dans cette ligne 4...Mais j'en demande peut-être un peu trop?

    En tout cas merci pour ton aide,

    @+.
    For crying out loud !

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu veux faire quoi exactement, car la solution que tu veux mettre en place, ca fait penser à du bidouillage plutot qu'à de la programmation

    Pourquoi veux tu atteindre cette ligne ?
    Il n'y a pas un ou plusieurs champs clefs qui te permettrait d'y accèder de manière plus simple (avec locate) ?
    Es tu sur que la structure de ta base de données est correcte et as tu la possibilité de modifier cette base ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Citation Envoyé par Malatar
    Tu veux faire quoi exactement, car la solution que tu veux mettre en place, ca fait penser à du bidouillage plutot qu'à de la programmation
    Effectivement...Je fais bocoup de bidouillages, et le pire c'est qu'on me paye pour ça

    En faite mon problème c'est que j'ai un nombre aléatoire de combobox, et suivant l'item choisis je dois mettre à jour une table de simulation à partir d'une autre table (qui serait une sorte de bibliothèque).
    Le problème c'est que des items différents accèdent parfois à une même ligne de ma table bibliothèque; alors j'ai créé un tableau pour relier un items à un numéro de la ligne de ma table bibliothèque...et je voudrais positionner mon curseur sur ce numéro de ligne de ma table bibliothèque afin de "piocher" les valeurs qui m'intéresse pour les mettre dans ma table simulation.

    Voilà, mais avec moveBy je devrais m'en sortir.

    Merci bocoup pour votre aide.

    @+.
    For crying out loud !

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par PadawanDuDelphi
    et je voudrais positionner mon curseur sur ce numéro de ligne de ma table bibliothèque afin de "piocher" les valeurs qui m'intéresse pour les mettre dans ma table simulation.
    Ce numéro de ligne correspond à quoi ? a ce que tu renvoi delphi avec RecNo si oui, as tu pensé au cas ou une personne avec un autre programme insère une ligne n'importe où dans ta table ? (vive le décalage après)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Le numéro de ligne correspond à la ligne de ma bibliothèque sur laquelle "pointe" mon item index...
    A priori la bibliothèque est unique par poste, et n'est pas modifiable à partir de la fenêtre où je fais mes calculs ou par un autre programme.

    Mais effectivement, si il ya un ajout sauvage quand même, ça va faire mal dans les résultats finaux...

    Je vais modifier un peu mon code alors: Mon tableau pour relier un items à un numéro de la ligne, deviendra un tableau qui relira un champ "clé" nom de ma table bibliothèque à un items. Comme ça je pourrais faire des locate.

    Ce sera plus propre et plus sécurisé. Merci bocoup Malatar.

    @+.
    For crying out loud !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Acceder directement à une ligne dans un fichier
    Par khaled_prg dans le forum Général Java
    Réponses: 7
    Dernier message: 02/04/2013, 12h50
  2. Réponses: 6
    Dernier message: 04/04/2008, 22h07
  3. ouvrir un éditeur directement sur une ligne en particulier
    Par Laurent.B dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/03/2008, 18h35
  4. Réponses: 3
    Dernier message: 18/06/2007, 14h10
  5. Réponses: 2
    Dernier message: 19/03/2005, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo