Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
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 26/09/2006, 14h49   #1
Membre du Club
 
Inscription : mars 2005
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 105
Points : 52
Points : 52
Par défaut [FB 1.5] décimal

Bonjour,

Je fais un select sur une variable numérique, celui-ci ne fonctionne que si je met le point en décimal ( cela ne marche pas avec la virgule ) alors que si je consulte les données de ma table avec IBexpert, les valeurs sont affichés avec la virgule pour séparateur de décimal.
Que se passe t'il ?
Merci
Thierry
free07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 17h00   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
ça dépend de ta plateforme et de tes composant d'accès aux données
mais en natif, c'est le point, pas la virgule
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 10h33   #3
Membre du Club
 
Inscription : mars 2005
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 105
Points : 52
Points : 52
Merci pour ta réponse.
C'est sous windows et j'utilise les composants interbase Express de Borland, j'ai entendu dire que le charset de FB a aussi son influence, il me semble pas l'avoir renseigné à la création de la base...
free07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 10h59   #4
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
ça c'est une question à poser alors sur le forum Delphi
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 13h37   #5
Membre habitué
 
Inscription : février 2005
Messages : 279
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 279
Points : 110
Points : 110
Delphi possède une variable globale
Que tu peux utiliser et qui correspond(sauf si tu la changes), au séparateur décimal du système. Tu peux aussi changer ce paramètre dans les options régionales et linguistiques.(sous windows). Si tu cliques sur 'personnaliser' et que tu mets comme séparateur '.', il sera aussi dans IBExpert, ainsi que d'ailleurs Excel et la pluspart des programmes.
nek_kro_kvlt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 15h59   #6
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par free07
Je fais un select sur une variable numérique, celui-ci ne fonctionne que si je met le point en décimal ( cela ne marche pas avec la virgule ) alors que si je consulte les données de ma table avec IBexpert, les valeurs sont affichés avec la virgule pour séparateur de décimal.
FB/IB ne reconnait que le point.
Donc si tu fais une requete dynamique ou en directe il te faut utiliser le point.

Ex :
Code :
SELECT Col1 FROM MaTable WHERE Col2> 19.6;
D'ou l'interret d'utiliser les requetes paramétrées c'est Delphi qui s'occupe d'utiliser le bon format.
C'est pour ca qu'il faut toujours utiliser les requetes paramétrées quand c'est possible.

Cette remarque est valable également pour la gestion des dates.

Code :
SELECT Col1 FROM MaTable WHERE Col2>:Param1;
Pour affecter le parametre avant execution de la requete :
Code :
1
2
IBQ.ParamByName('Param1').AsCurrency := StrToCurr(Edit.Text);
IBQ.Open;
Dans le Edit.Text tu utilises le séparateur décimal déclaré dans windows (donc la virgule si tu n'y a pas touché) : "19,6".
Ceux qui auront configuré leur windows en utilisant le point comme séparateur devront utiliser le point.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h21.


 
 
 
 
Partenaires

Hébergement Web