Problème de cache avec oracle 8 i
Bonjour à tous,
vu que je n'ai pas eu de réponse sur le forum Delphi et base de données,
je repost mon problème ici :
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:
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:
Code:
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 |
Ma supposition est que le cache n'est pas réinitialisé correctement, avez vous d'autres suggestions ?
Merci d'avance pour toutes vos réponses.
Re: Problème de cache avec oracle 8 i
Citation:
Envoyé par lper
et de la mise à jour de l'enregistrement:
Database.StartTransaction;
try
ApplyUpdates;
Database.commit;
CommitUpdates;
CachedUpdates := false;
except
Database.Rollback;
Probleme_Validation := True;
CachedUpdates := false;
end;//try
ha oui... vaut mieux le voir à true comme ça que pas du tout remarque :aie:
Ici, je ne vois aucun code SQL ou PL/SQL alors je vois mal comment on pourrait te répondre... m'enfin... ça coute rien de tenter sa chance :lol: