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

C++Builder Discussion :

Stocker le resultat d'un select localement


Sujet :

C++Builder

  1. #1
    Membre actif
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Points : 290
    Points
    290
    Par défaut Stocker le resultat d'un select localement
    Bonjour,
    Me revoila

    Je maîtrise maintenant les ADOQuery

    Seulement ce n'est pas la solution a mon probleme (enfin je crois pas)

    En effet, je désire stocker temporairement les resultats d'un select(une a plusieurs valeurs récupérés) , effectué avec ADO (Connexion, DataSet, Command), et donc les exploitent sans être connecter à la bdd.
    Mon soucis est donc que le DataSet doit être ouvert (donc connecté a la bdd), ce que je souhaite pas.

    Mon second soucis est que ses informations sont sous forme de tables donc pour les stocker dans des listes ....

    Voila je suis tout ouïe à vos solutions (simple si possible ).

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour (hé oui, c'est le matin...il est 01h26 !)

    Une idée qui me passe dans la tête avec une TStringList pour stocker éventuellement le résultat de ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    TStringList* pList = new TStringList(); String S;
    Form2->Query1->First();
    while(!Form2->Query1->Eof)
    {
    S = Form2->Query1->Fields->Fields[1]->Value + AnsiString("=");
            for (int i = 2; i < Form2->Query1->Fields->Count; i ++)
            {
                    S = S + Form2->Query1->Fields->Fields[i]->Value ;//+ AnsiString(";");
            }
                    pList->Add(S);
    Form2->Query1->Next();
    }
    C'est un petit test pas tres beau, mais c'etait pour donner une idée (donc code a retravailler)...
    Apres tu peut récupérer les valeurs avec, par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for (int j = 0; j < pList->Count; j ++)
    {
    S = pList->Strings[j];
            for (int k = 2; k < Form2->Query1->Fields->Count; k ++)
            {
                    S = S + AnsiString(" ") + pList->Values[k];
            }
            ShowMessage(S);
    }
    }
    Mais tout dépends aussi de la manière dont tu voulais pouvoir travailler apres...
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  3. #3
    Membre actif
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Il ne peut sortir que de bonnes idées aussitôt le matin

    Aprés adaptation, j'obtient ceci:
    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
     
     // Enregistrement des données dans une liste
     frmIdentification->ADODataSet->First() ; // Retourne au premier
     while(!frmIdentification->ADODataSet->Eof)
      {
          S = frmIdentification->ADODataSet->Fields->Fields[1]->Value + AnsiString(";");
          for (int i = 2; i < frmIdentification->ADODataSet->Fields->Count; i ++)
          {
               if (!VarIsNull(frmIdentification->ADODataSet->Fields->Fields[i]->Value))// Test si NULL
                  S = S + frmIdentification->ADODataSet->Fields->Fields[i]->Value + AnsiString(";");
                else
                    S = S +  AnsiString(" ;") ;
           }
           pList->Add(S);
          frmIdentification->ADODataSet->Next();
      }
    J'utilise un DataSet au lieu du Query mais ca revient au même
    Un petit détaille qui porte son importance, j'utilie la fonction VarIsNull car j'ai des valeurs nulle

    Mon but final est de réutilisé une partie de ses informations pour effectuer des tests (Date et Heure) et d'afficher les renseignements correspondant.

    Un rappel de rendez-vous en faites

    Me restera plus qu'a decortiqué ma chaine de caracteres séparé par des points virgule.

    Merci Cantrelle

    lanonyme

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/07/2012, 17h03
  2. stocker resultat d'un select
    Par jerry tekobon dans le forum JDBC
    Réponses: 2
    Dernier message: 11/06/2009, 19h18
  3. [SQL][10g] concaténé resultat d'un select
    Par Psykotik dans le forum Oracle
    Réponses: 4
    Dernier message: 25/01/2006, 13h00
  4. Réponses: 16
    Dernier message: 25/01/2006, 12h40
  5. stocker le resultat de 2 requettes dans un fichier
    Par Issam dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/03/2005, 10h06

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