Bonjour,

J'ai un soucis avec mon TIBDataSet lorsque je veux y effectuer une insertion.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
if not DataModuleMETAR.IBDataSetMETAR.Active then DataModuleMETAR.IBDataSetMETAR.Open;
DataModuleMETAR.IBDataSetMETAR.Insert;
DataModuleMETAR.IBDataSetMETAR.ParamByName('ICAO').AsString := DataModuleMETAR.IBDataSetStation.FieldByName('ICAO').AsString;
DataModuleMETAR.IBDataSetMETAR.ParamByName('HORAIRE').AsDateTime := METAR_Date;
DataModuleMETAR.IBDataSetMETAR.ParamByName('TEMPERATURE').AsInteger := METAR_Temperature;
DataModuleMETAR.IBDataSetMETAR.ParamByName('POINTDEROSEE').AsInteger := METAR_Point2Rosee;
DataModuleMETAR.IBDataSetMETAR.ParamByName('HUMIDITE').AsInteger := METAR_HumiditeRelative;
DataModuleMETAR.IBDataSetMETAR.ParamByName('PRESSION').AsInteger := METAR_PressionAtmospherique;
DataModuleMETAR.IBDataSetMETAR.ParamByName('VENT_DIRECTION').AsInteger := METAR_VentDirection;
DataModuleMETAR.IBDataSetMETAR.ParamByName('VENT_VITESSE').AsInteger := METAR_VentVitesse;
DataModuleMETAR.IBDataSetMETAR.ParamByName('METAR').AsString := METAR;
DataModuleMETAR.IBDataSetMETAR.Post;
DataModuleMETAR.IBTransactionMETAR.Commit;
Dans mon composant TIBDataSet, j'ai le code suivant pour InsertSQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
insert into METAR
  (HORAIRE, HUMIDITE, ICAO, METAR, POINTDEROSEE, PRESSION, TEMPERATURE, 
   VENT_DIRECTION, VENT_VITESSE)
values
  (:HORAIRE, :HUMIDITE, :ICAO, :METAR, :POINTDEROSEE, :PRESSION, :TEMPERATURE, 
   :VENT_DIRECTION, :VENT_VITESSE)
Cependant lorsque j'execute la première ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
DataModuleMETAR.IBDataSetMETAR.ParamByName('ICAO').AsString := DataModuleMETAR.IBDataSetStation.FieldByName('ICAO').AsString;
J'ai une exception ici qui est la suivante :
Champ "ICAO" non trouvé
Lorsque je débogue, j'ai bien :
Expression : DataModuleMETAR.IBDataSetStation.FieldByName('ICAO').AsString;
Résultat : "CYUL"
Je ne vois pas d'où vient cette erreur...

Merci pour votre aide,
MaTHieU_