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 :

Récupérer résultat d'une requête


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut Récupérer résultat d'une requête
    Bonjour,

    Je voudrais reucpérer le resultat de cette requete dans un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select et_nom from etudiant
    J'ai essayer de faire comme cela mais le programme ne s'arrete pas, je dois avoir fait une ou plusieurs erreurs, si vouz pouviez m'eclairer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     
        OraQuery2.Open;
         n := 0;
          while (not(oraquery2.Eof)) do
          begin
           Tab[n] := oraquery2.FieldValues['ET_NOM'];
          end;
          n := n+1;
          oraquery2.Next;
     
     
     
    end;
    Merci

  2. #2
    Expert confirmé
    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 : 62
    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
    Par défaut
    Salut

    Il faut mettre le Next dans la boucle pour éviter qu'elle soit sans fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     
      OraQuery2.Open;
      n := 0;
      while (not(oraquery2.Eof)) do
      begin
        Tab[n] := oraquery2.FieldValues['ET_NOM'];
         n := n+1;  
         oraquery2.Next; // Ligne à inclure dans la boucle !!
      end;
     
    end;
     
    @+ Claudius

  3. #3
    Membre confirmé Avatar de Morfus
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut
    c'est le oraquery2.next qu'il faut mettre dans la boucle while
    ton while il ne s'arrete pas

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Merci, mais maintenant j'ai un autre problème.
    J'ai cette erreur à chaque fois que je lance le programme:
    image
    Merci pour votre aide.

  5. #5
    cjo
    cjo est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 42
    Par défaut
    Cela ne viendrait-il pas de la taille du tableau. Dans le petit bout de code, il n'y a pas d'information à ce sujet.

    Si c'est le cas, il faut ajuster la taille du tableau à chaque ajout.

    cjo

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Ton objet TADOQuery est bien créé ?
    Pour le tableau on aurait une exception du type "indice hors llimite' et pas une AV.
    Et il te reste la touche F7...

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. [XL-2007] Récupérer résultat d'une requête dans une macro
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/05/2011, 19h04
  2. [AC-2003] Récupérer résultat d'une requête
    Par rene10 dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/02/2011, 15h00
  3. Récupérer résultat d'une requête dans un tableau
    Par juju1988 dans le forum Débuter
    Réponses: 2
    Dernier message: 23/03/2010, 14h44
  4. récupérer résultat d'une requête SQL en bash
    Par Milo59000 dans le forum Linux
    Réponses: 10
    Dernier message: 08/09/2008, 11h13
  5. [VBA-E] Récupérer résultat d'une requête
    Par ragnarök dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2006, 17h21

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