Here is my code to save data in FB2.1
Code: Select all
if not IBCTrnsctnDataStatus.Active then
begin
IBCQryDataStatus.SQL.Text:='INSERT INTO AFFECT_DATA_STATUS (ID,DATE_HEURE, NOM_PROJET, TURBINE, VIT_VENT, PUISS_ACTIVE,'
+' TEMP_EXTERIEURE, CODE_STATUS, NOM_STATUS, FAMILLE_CONSTRUCTEUR, FAMILLE_VALOREM, STATUS_CORRIGE)'
+' VALUES( :ID,:DATE_HEURE, :NOM_PROJET, :TURBINE, :VIT_VENT, :PUISS_ACTIVE, :TEMP_EXTERIEURE, :CODE_STATUS,'
+' :NOM_STATUS, :FAMILLE_CONSTRUCTEUR, :FAMILLE_VALOREM, :STATUS_CORRIGE)';
IBCTrnsctnDataStatus.StartTransaction;
IBCQryDataStatus.Prepare;
for r := 1 to frmMain.AdvStrgGrdAffectDataStatus.RowCount - 1 do
begin
try
IBCQryDataStatus.ParamByName('ID').AsInteger:=r;
IBCQryDataStatus.ParamByName('DATE_HEURE').AsDateTime:=STrToDateTime(frmMain.AdvStrgGrdAffectDataStatus.Cells[1,r]);
IBCQryDataStatus.Execute;
except
on E:EIBCError do
begin
IBCTrnsctnDataStatus.Rollback;
error:=TRUE;
MessageDlg('Erreur lors de l''insertion des données dans la table temporaire',mtError,[mbOK],0);
exit;
end;
end;//fin du try except
end;//fin du for
IBCTrnsctnDataStatus.Commit;
end;//fin du if
IBCQryDataStatus.UnPrepare;
After i do that
Code: Select all
frmAffectDataStatus.IBCQryDataStatus.SQL.Text:='select count(*) as TOTAL from AFFECT_DATA_STATUS where NOM_PROJET='+AnsiQuotedStr(lst_prjt.Strings[p],'''')
+' and TURBINE='+AnsiQuotedStr(LstNomTrbn.Strings[t],'''');
frmAffectDataStatus.IBCQryDataStatus.Execute;
total:=frmAffectDataStatus.IBCQryDataStatus.FieldByName('TOTAL').AsInteger;
I don't understand why
Thank you for help
Regards