Je viens de constater un contenu bizarre dans un champs de type Quad d'une table (base sqlite). Je n'ai pas le code sur moi mais je le posterais plus tard si c'est nécessaire. Je m'explique:
J'ai une table d'une base sqlite qui contient un champ X de type quad. J'utilise deux fonctions différentes Calcul1 et Calcul2 qui permettent (entre autres) de calculer la somme de ce champ X (dans toute la table et sans condition). La table contient environ une centaine d'enregistrements. Le champ X contient généralement des nombres nuls ou supérieurs à 19999999.
Voici la partie (très résumée) qui permet de calculer la somme de ce champ X:
Code : Tout sélectionner
Procedure Calcul1()
;...........
;bla bla bla
;bla bla bla
Wsq="SELECT SUM(X) FROM Table1 Where X<>0"
CheckDataBaseQuery(Mabase,Wsql)
If NextDataBaseRow(Mabase)
Resultat1$=GetDataBaseString(Mabase,0)
endif
;...........
;bla bla bla
;bla bla bla
EndProcedure
;----- Et plus loin...
Procedure Calcul2()
;...........
;bla bla bla
;bla bla bla
Wsq="SELECT SUM(X) FROM Table1 Where X<>0"
CheckDataBaseQuery(Mabase,Wsql)
If NextDataBaseRow(Mabase)
Resultat2$=GetDataBaseString(Mabase,0)
endif
;...........
;bla bla bla
;bla bla bla
EndProcedure
;----- Et plus loin...
Calcul1()
debug Resultat1$ ;----- ici j'obtiens 124000000000 (c 'est le bon résultat)
Calcul2()
debug Resultat2$;----- ici j'obtiens 124000000000.0 (c 'est le mauvais résultat; à cause de ce point décimal et le zéro de droite, un quad ne doit pas contenir de point décimal à ce que je sache... )
;-----
END
Code : Tout sélectionner
Resultat$=GetDataBaseString(Mabase,0)
Code : Tout sélectionner
Resultat$=strq(GetDataBaseQuad(Mabase,0))
Quelqu'un a une explication ?
Merci