Probleme de conversion type de champ SQL??

Résolu
cs_dahman Messages postés 40 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 31 mars 2006 - 6 juin 2005 à 11:28
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 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

1 réponse

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 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.

Vincent Stryckmans.
3
Rejoignez-nous