Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2007, 14h58   #1
Membre habitué
 
Inscription : juillet 2003
Messages : 672
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 672
Points : 142
Points : 142
Par défaut Interbase requête SQL qui ne fonctionne pas

Bonjour,

Je débute sous Interbase car je travaillais précedemment avec MS ACCESS. La requête suivante fonctionnait avec ACCESS elle ne fonctionne pas avec IB

Voici ma requête :
Code :
1
2
3
4
5
6
7
8
9
10
 
    qry.Close;
    qry.SQL.Clear;
    qry.DATABASE:= CurDataBase;
    qry.SQL.ADD('SELECT * ');
    qry.SQL.ADD('FROM PATCH ');
    qry.SQL.ADD('WHERE PATCH_IMGSEQUENCE  ='+IntToStr(Rec.WorkImage.RecNo)+' AND '+
                      'PATCH_USED  = TRUE ');
    qry.Open;
    result:= qry.RecordCount= Nbr;
Nbr = 285. J'ai vérifié sous la console IB il existe bien dans la base 285 enregistrements répondant à ces critères. Or qry.recordCount me rertourne la valeur 1

Pourquoi ?

J'ai du sauter un chapitre
colorid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 15h54   #2
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
ton pb n'est pas assez explicite, ta pb de requete ou de fonctionnement
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 16h01   #3
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Salut

Si, comme je le suppose tu utilises les composants IBX, je pense qu'il suffit de faire un FetchAll sur ton Query.

Code :
1
2
3
4
 
    qry.Open;
    qry.FetchAll;
    result := qry.RecordCount;
Ce n'est pas vraiment un problème IB/FB mais plutôt un problème de composant.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 16h13   #4
Expert Confirmé
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Quelle version d'Interbase ?

Quelle est la définition de la table ?

Citation:
elle ne fonctionne pas avec IB
c'est à dire ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 16h59   #5
Membre habitué
 
Inscription : juillet 2003
Messages : 672
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 672
Points : 142
Points : 142
Par défaut avec FetchAll ça marche

Merci pour toutes ces info
La version de IB c'est IB 2007.
Il s'agit en effet d'une IBQUERY.
Seulement j'aimerais savoir ce que fait FetchAll.
colorid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 17h16   #6
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Re,

Citation:
Envoyé par colorid Voir le message
Seulement j'aimerais savoir ce que fait FetchAll.
FetchAll rapatrie tous les enregistrements de ta requête.
Cela est équivalent à un Last suivit d'un first.

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 17h36   #7
Membre habitué
 
Inscription : juillet 2003
Messages : 672
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 672
Points : 142
Points : 142
Par défaut Ok Merci à tous

colorid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h03.


 
 
 
 
Partenaires

Hébergement Web