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

Firebird Discussion :

Une requète qui ne donne pas le résultat attendu


Sujet :

Firebird

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Une requète qui ne donne pas le résultat attendu
    Bonjour,
    Je porte du code qui marchait sous Java pour l'exécuter sous C++ VisualStudio.
    J'ai une requête qui marche sous interpréteur sql et qui renvoi des données incohérentes sous VisualStudio qui marche avec IBPP.
    Je vous donne d'abord la requête; puis le résultat de la requête sous l’interpréteur sql; puis le code qui s'exécute.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT ES.nuIdElemn, ES.nuIdTypeElement, ES.nuIdOccurence, ES.wsText, ES.vcName, ES.nuidpar, ES.siNbChunk, ES.siIdD, EC.nuIdChunk, C.nuIdChunkType, C.siNbWord, C.nuIdDrivingPos, W.nuIdWord, W.vcString, W.siIdPOS, L.cExcluded, L.siIdPOS FROM T_ELEMENT_SEMANTIQUE ES LEFT JOIN T_ELEMENT_CHK EC ON ES.nuIdElemn = EC.nuIdElemn LEFT JOIN T_CHUNK C ON EC.nuIdChunk = C.nuIdChunk LEFT JOIN T_CHUNK_WORD CW ON C.nuIdChunk = CW.nuIdChunk LEFT JOIN T_WORD W ON CW.nuIdWord = W.nuIdWord LEFT JOIN T_LEMMA L ON W.nuIdLemma = L.nuIdLemma AND W.siIdPOS = L.siIdPOS WHERE ES.siIdD = 1 ORDER BY ES.nuIdOccurence DESC, ES.vcName, ES.nuIdElemn, EC.siChkRank, CW.siWordRank
    le résultant de la requête par l'isql:
    [IMG][/IMG]Je n'arrive pas à mettre une capture d'écran
    le code qui est en cause
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
          try
          { // 1
    			ErrorCode = 0;
    			pListSemanticElement = new std::list<ElementSemantic*>();
    			wssRequest << "SELECT "
    			<< "ES.nuIdElemn, ES.nuIdTypeElement, ES.nuIdOccurence, ES.wsText, ES.vcName, ES.nuidpar, ES.siNbChunk, ES.siIdD, EC.nuIdChunk, C.nuIdChunkType, C.siNbWord, C.nuIdDrivingPos, W.nuIdWord, W.vcString, W.siIdPOS, L.cExcluded, L.siIdPOS"
    			<< " FROM"
    			<< " T_ELEMENT_SEMANTIQUE ES"
    			<< " LEFT JOIN T_ELEMENT_CHK EC ON ES.nuIdElemn = EC.nuIdElemn"
    			<< " LEFT JOIN T_CHUNK C ON EC.nuIdChunk = C.nuIdChunk"
    			<< " LEFT JOIN T_CHUNK_WORD CW ON C.nuIdChunk = CW.nuIdChunk"
    			<< " LEFT JOIN T_WORD W ON CW.nuIdWord = W.nuIdWord"
    			<< " LEFT JOIN T_LEMMA L ON W.nuIdLemma = L.nuIdLemma"
    			<< " AND W.siIdPOS = L.siIdPOS"
    			<< " WHERE ES.siIdD = " << iIdDoc
    			<< " ORDER BY ES.nuIdOccurence DESC, ES.vcName, ES.nuIdElemn, EC.siChkRank, CW.siWordRank";
    			dwNbResultFound = 0;
    			ErrorCode |= objInterbaseManager.ExecuteSelectRequest(wssRequest.str(), &dwNbResultFound);
    			IF( dwNbResultFound == 0)
    			{ // 2
    			   RETURN( pListSemanticElement);
    			} // 2
    			iSize = 0;
     		    ErrorCode |= objInterbaseManager.First();
    		    while( bEndReached != true && ErrorCode  == INIT_NO_ERROR && iSize < dwNbResultFound)
    		    { // 2
    			    pelementSemantic = new ElementSemantic();
    				elementSemantic = *pelementSemantic;
    				pUnivers = new stUnivers();
    				elementSemantic.Univers = *pUnivers;
    				ErrorCode |= objInterbaseManager.GetWideString(4, wsTemp);
    				elementSemantic.wsText = wsTemp;
    				ErrorCode |= objInterbaseManager.GetWideString(5, wsTemp);
                    std::wstring wsUnivers = wsTemp;
    				ErrorCode |= objInterbaseManager.GetWideString(13, wsTemp);
    				elementSemantic.wsWord = wsTemp;
    				ErrorCode |= objInterbaseManager.GetHidDB(0, (int64_t&)elementSemantic.nuIdElemn);
    				ErrorCode |= objInterbaseManager.GetHidDB(1, (int64_t&)elementSemantic.nuIdTypeElement);
    				ErrorCode |= objInterbaseManager.GetHidDB(2, (int64_t&)elementSemantic.siIdOccurence);
    				ErrorCode |= objInterbaseManager.GetHidDB(6, (int64_t&)idParagraph);
    				ErrorCode |= objInterbaseManager.GetHidDB(7, (int64_t&) elementSemantic.siNbChunk);
    				ErrorCode |= objInterbaseManager.GetHidDB(8, (int64_t&) elementSemantic.iIdDoc);
    				ErrorCode |= objInterbaseManager.GetHidDB(9, (int64_t&) elementSemantic.nuIdChunk);
    				ErrorCode |= objInterbaseManager.GetHidDB(10, (int64_t&) elementSemantic.nuIdChunkType);
    				ErrorCode |= objInterbaseManager.GetHidDB(11, (int64_t&) elementSemantic.siNbWord);
    				ErrorCode |= objInterbaseManager.GetHidDB(12, (int64_t&) elementSemantic.nuIdDrivingPos);
    				ErrorCode |= objInterbaseManager.GetHidDB(14, (int64_t&) elementSemantic.iValWord);
    				ErrorCode |= objInterbaseManager.GetHidDB(15, (int64_t&) elementSemantic.iPOS);
    				elementSemantic.Univers.wsName = wsUnivers;
    				elementSemantic.Univers.idParagraph = idParagraph;
    				pListSemanticElement->push_back( &elementSemantic);
    				IF( elementSemantic.nuIdTypeElement == 5) // un titre
    				{ // 3
    					IF( wsOldText != elementSemantic.wsText)
    					{ // 4
    							wsOldText = elementSemantic.wsText;
    					} // 4
    				} // 3
    				iSize++;
    				ErrorCode |= objInterbaseManager.Next(bEndReached);
    			} // 2
    		} // 1
    Je serai content de savoir pourquoi je ne récupère pas les données que j'ai sous isql avec mon code. Les élémentSemantics sont incohérents. Pourquoi?
    ce sera d'avoir une réponse.

  2. #2
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut le champ qui est en trop
    il y a dans cette requête un champ en trop

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

Discussions similaires

  1. [AC-2007] Requête qui ne donne pas de résultats
    Par sami0701 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 07/11/2013, 22h50
  2. Une requête qui ne donne pas le résultat attendu
    Par JeanNoel53 dans le forum Visual C++
    Réponses: 4
    Dernier message: 30/10/2013, 11h35
  3. [PDO] Une requête qui ne retourne pas de résultat
    Par beegees dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 25/11/2011, 18h18
  4. Réponses: 3
    Dernier message: 29/07/2011, 11h54
  5. Réponses: 3
    Dernier message: 09/02/2010, 20h15

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