Bonjour,
J'ai un soucis avec mon TIBDataSet lorsque je veux y effectuer une insertion.
Voici mon code :
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
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;
Cependant lorsque j'execute la première ligne :
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)
J'ai une exception ici qui est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DataModuleMETAR.IBDataSetMETAR.ParamByName('ICAO').AsString := DataModuleMETAR.IBDataSetStation.FieldByName('ICAO').AsString;
Lorsque je débogue, j'ai bien :Champ "ICAO" non trouvé
Je ne vois pas d'où vient cette erreur...Expression : DataModuleMETAR.IBDataSetStation.FieldByName('ICAO').AsString;
Résultat : "CYUL"
Merci pour votre aide,
MaTHieU_
Partager