cs_dahman
Messages postés40Date d'inscriptionjeudi 8 juillet 2004StatutMembreDernière intervention31 mars 2006
-
6 juin 2005 à 11:28
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006
-
6 juin 2005 à 12:06
g un champ de type integer ds une base SQL l orsque je veux faire la somme d un champ exem :
for i:=0 to adoquery3.RecordCount do
begin
if adoquery3.FieldValues['nbr_brrs'] > 0 and adoquery3.FieldValues['nbr_brrs']<> null then
s:=s+adoquery3.FieldValues['nbr_brrs'];
end;
une erreur se declenche "couldnot convert variant of type null into type integer".
je sais pas comment faire pour faire la somme mme la condition que g mis ne resoud pas le prob
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006 6 juin 2005 à 12:06
Je ne suis pas sur que la fonction null de delphi renvoie l'équivalent null d'un serveur sql.
Donc, et de toute façon, il est préférable que tu utilises la méthode
filedbyname au lieu de la propriété fieldvalues de ton dataset.
De plus, dans ton la condition de ton if, tu vérifies d'abord la
valeur du champ sur base d'une condition 'entier' (champ >0) alors
qu'il est peut-être null.
Essaie ceci :
if not adoquery3.fieldbyname('nbr_brrs').isnull then
begin
if adoquery.fieldbyname('nbr_brrs').asinteger > 0 then
s := s + adoquery.fieldbyname('nbr_brrs').asinteger;
end;
Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.