Bonjour à tous,
mon application met à jour la base Oracle (version 8i) avec le composant TUpdateSql.
Dans le composant TwwDBDateTimePicker, on affiche la date d'invalidité d'un assuré, mais lorsque celle ci est nulle, après la mise à jour du record, la date prend une valeur indéterminée.
Voici le code de chargement du record :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 //Recherche de l'assuré with dmo_Tables_AC.qry_Ac_Assure do begin Close; ParamByName('no_avs').AsString := Assure_Modifie; Active := true; CachedUpdates := true; Edit; //Valeur Enregistrement Visa + date FieldByName('ID_UPD').ReadOnly := false; FieldByName('DT_UPD').ReadOnly := false; FieldByName('ID_UPD').AsString := dmo_Tables_AC_Sortie.LocalUser_Connected.Visa; FieldByName('DT_UPD').AsDateTime := Date; //Champs qui ne peuvent être modifié par l'utilisateur FieldByName('NO_AVS').ReadOnly := true; FieldByName('ID_CRE').ReadOnly := true; FieldByName('DT_CRE').ReadOnly := true; FieldByName('ID_UPD').ReadOnly := true; FieldByName('DT_UPD').ReadOnly := true; //Attribution du datasource aux champs du panel Détail - Bénéficiaire AcorDataSource := dmo_Tables_AC.ds_Ac_Assure; try Application.CreateForm(Tfm_Detail_Assure, fm_Detail_Assure); fm_Detail_Assure.Attribution_DataSource_Assure(AcorDataSource);; fm_Detail_Assure.Modification_En_cours := True; fm_Detail_Assure.Caption := 'Modification de l''assuré : ' + FormatMaskText('999\.99\.999\.999;0;_', FieldByName('NO_AVS').AsString); fm_Detail_Assure.ShowModal; finally fm_Detail_Assure.Free; Close; CachedUpdates := False; ParamByName('no_avs').AsString := Assure_Modifie; Open; end;//try end;//with dmo_Tables_AC.qry_Ac_Assure
et de la mise à jour de l'enregistrement:
Ma supposition est que le cache n'est pas réinitialisé correctement, avez vous d'autres suggestions ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Database.StartTransaction; try ApplyUpdates; Database.commit; CommitUpdates; CachedUpdates := false; except Database.Rollback; Probleme_Validation := True; CachedUpdates := false; end;//try
Merci d'avance pour toutes vos réponses.
Partager