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 :

sql + recordcount bug ?


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut sql + recordcount bug ?
    Re bonsoir.

    j'ai un petit soucis plutot etrange...

    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
    17
    18
    19
    20
    21
    22
    23
    24
    SQLQuery1->Active=false;
    SQLQuery1->SQL->Clear();
    AnsiString sql("SELECT * FROM historique");
    SQLQuery1->SQL->Add(sql);
    int Resultat= SQLQuery1->RecordCount;
    SQLQuery1->Open();
    ShowMessage(Resultat);
     
     
    		if (Resultat > 0)  // Si Resultat est > 0 alors c'est quil y a au moins une reference
    		{
     
    		SQLQuery1->Active=false;
    		SQLQuery1->SQL->Clear();
    		AnsiString sql("SELECT RefProduit,Marque,Model,COUNT(Quantite) AS qte FROM historique GROUP BY RefProduit ORDER BY qte DESC");
    		SQLQuery1->SQL->Add(sql);
    		SQLQuery1->Open();
    		int check = SQLQuery1->RecordCount;
    		ShowMessage(check);
     
     
    		for (int i = 0; i < check; i++)
                              {etc//
    		{
    Resultat = 20 c'est la bonne reponse : j'ai bien 20 lines dans ma table
    Check = 20 hors je n'en ai plus que 15 dans ma table ( tester dans easyphp ) et je ne sais par quel hasard il me considere tj 20 ce qui me pose un probleme dans ma boucle d'apres.

    si quelqu'un a deja eu ce genre de probleme

    merci

  2. #2
    Membre �m�rite
    Avatar de neilbgr
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2004
    Messages
    651
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 651
    Par d�faut
    Il faut toujours se m�fier de la propri�t� RecordCount car en fonction du moteur de basse de donn�e, il se peut qu'il y ait l'optimisation qui consiste � ne "fectcher" que ce qui est n�cessaire (souvent ce qui est visible).
    Il vaut mieux utiliser une boucle while et la m�thode Next() en testant qu'on ne soit bien pas � la fin (EOF).

  3. #3
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    et en ajoutant SQLQuery1->Close(); avant l'ex�cution de tes requ�tes ?

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    non cela ne change rien avec les Close();

    Je vois ce que tu veux faire neilbgr mais de la a mettre en pratique

    Sinon je comprends pas pourquoi ca ne marche pas.. mais recordcount on toujours bien fonctionn� jusqua present

  5. #5
    Membre �clair�
    Inscrit en
    Juin 2007
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par d�faut
    salut

    avant de faire ton RecordCount, ex�cute cette ligne:

    Ca devrait mieu fonctionner apr�s, enfin j'esp�re...

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    Apparement ta commande n'existe pas
    j'ai essayer :
    SQLQuery1->FetchAll et SQLQuery->SQL->FetchAll(); mais ca n'existe pas

  7. #7
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut bullrot
    Query->FetchAll(); c'est pour BDE
    est ce que tu ne devrais pas faire un SQLQuery1->Refresh();puis ton teste

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    j'ai essayer mais sans succes

    arf ca m'enerve ce truc :p

  9. #9
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    J'ai lu que certaines tables demandent d'etre positionnees sur le dernier enregistrement par " SQLQuery1->Last(); "

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    oui mais ici je veux recuperer le nombre d'enregistrement pour pouvoir faire ma boucle apres

  11. #11
    Membre �prouv�
    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 : 54
    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
    Par d�faut
    Bonjour,

    Je n'ai pas la table sous la main, donc je me permetterais pas d'�tre affirmatif mais ca devrais pouvoir se r�gler avec le SQL.

    C'est quoi comme BDD ?

  12. #12
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    mysql ( easyphp )

  13. #13
    Membre �prouv�
    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 : 54
    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
    Par d�faut
    Citation Envoy� par bullrot Voir le message
    mysql ( easyphp )
    Connais po ... ( ca existe ? mince, on est pas sur la taverne ...)

    Au risque de dire une b�tise (mais le ridicule ne tue pas), je dirais ... essaies un:
    dans ta requ�te.

    En tout cas, j'essaierais de tourner autour de ca.

    @+

  14. #14
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    j'ai contourner le probleme , j'ai fait un deuxieme query et un distinct et ca marche

  15. #15
    Membre �prouv�
    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 : 54
    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
    Par d�faut
    'dommage' malgr� tout, je suis sur que ca devrais passer dans une seule requete ... bon courage

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PDO] requete SQL qui bug
    Par thebarbarius dans le forum PHP & Base de donn�es
    R�ponses: 10
    Dernier message: 05/10/2012, 16h49
  2. Excel SQL : RecordCount = -1 pourquoi?
    Par jojo86 dans le forum Macros et VBA Excel
    R�ponses: 12
    Dernier message: 16/11/2009, 16h07
  3. SQL d'ajout d'entr�e et petit bug
    Par DJ Ca�sar 9114 dans le forum Requ�tes et SQL.
    R�ponses: 7
    Dernier message: 21/06/2006, 22h21
  4. [C#] Comm avec SQL Server ... Bug ?
    Par hobotalker dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 29/11/2005, 14h47
  5. Gros bug SQL Server avec caract�re "�"
    Par Oluha dans le forum MS SQL Server
    R�ponses: 6
    Dernier message: 26/05/2005, 14h31

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