Probleme de conversion type de champ SQL??

Résolu
Signaler
Messages postés
40
Date d'inscription
jeudi 8 juillet 2004
Statut
Membre
Dernière intervention
31 mars 2006
-
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
-
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

1 réponse

Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006

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.

Vincent Stryckmans.