Procedure TNewContrat_form.BtnEnregistrerclick (Sender : TObject);
begin
Cellule_DataModule.Contrat_SQLQuery.SQL.Clear;
Cellule_Datamodule.Contrat_SQLQuery.SQL.Text := 'insert into Cellule_Contrat (id_cellule, statut, grade, categorie, date_debut, date_fin, duree, fin_contrat, date_avantfin) values (:id_cellule, :statut, :grade, :categorie, :date_debut, :date_fin, :duree, :fin_contrat, :date_avantfin);';
Cellule_DataModule.Contrat_SQLQuery.Prepare;
Try
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('id_cellule').AsInteger := Var_Agent;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('statut').AsString := Statut_ComboBox.Caption;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('grade').AsString := Grade_ComboBox.Caption;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('categorie').AsString := Categorie_ComboBox.Caption;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('date_debut').AsDate := DateDebut_DateEdit.Date;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('date_fin').AsDate := DateFin_DateEdit.Date;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('duree').AsInteger := Duree_SpinEdit.Value;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('fin_contrat').AsBoolean := AvantTerme_CheckBox.Checked;
Cellule_Datamodule.Contrat_SQLQuery.Params.ParamByName('date_avantfin').AsDate := DateAvantFin_DateEdit.Date;
Cellule_Datamodule.Contrat_SQLQuery.ExecSQL;
Cellule_Datamodule.Contrat_SQLQuery.SQLTransaction.Commit;
except
on e: Exception do
begin
e.Message := e.Message + 'Insertion annulée.';
Cellule_Datamodule.Contrat_SQLQuery.SQLTRansaction.Rollback;
raise e;
end;
end;
//Refesh de la grille
Cellule_Datamodule.Contrat_SQLQuery.SQL.Clear;
Cellule_Datamodule.Contrat_SQLQuery.SQL.Text := 'SELECT * from cellule_contrat WHERE id_cellule=:id_cellule;';
Cellule_Datamodule.Contrat_SQLQuery.Prepare;
Close;
end;