Hallo alle zusammen!
Problem : Datensatz im Grid nach der Änderung wird nicht aktuallisiert.
Umgebung : D5,Oracle 8.. , ADODataset.
Datensätze werden im Grid angezeigt und über Editmaske kann aktueller Datensatz editiert werden (dabei wird andere Dataset verwendet). Nach der Änderung sollte Ansicht aktualisiert werden. Dafür rufe ich Resync-Methode von Dataset auf. Es läuft ohne Fehlermeldung durch aber danach bleiben die "alte Werte" stehen.
Das Ganze als Testumgebung siehet so aus :
procedure TForm1.Button1Click(Sender: TObject);
begin
// Hier wird Datensatz editiert
adsEdit.Close;
adsEdit.Parameters.ParamByName('FSD_ID').Value := dsSend.FieldByName ('FSD_ID').AsInteger;
adsEdit.Open;
adsEdit.Edit;
// ändern ...
end;
// hier schreibe ich die Änderungen zurück und ...
procedure TForm1.Button2Click(Sender: TObject);
begin
if adsEdit.Active then
begin
adsEdit.Post;
adsEdit.Close;
adsSend.DisableControls; // Dataset für Anzeigen
adsSend.Recordset.Resync(adAffectCurrent, adResyncAllValues);
adsSend.EnableControls;
end;
end;
Fehlt's noch etwas oder ... ?
Vitali
Problem : Datensatz im Grid nach der Änderung wird nicht aktuallisiert.
Umgebung : D5,Oracle 8.. , ADODataset.
Datensätze werden im Grid angezeigt und über Editmaske kann aktueller Datensatz editiert werden (dabei wird andere Dataset verwendet). Nach der Änderung sollte Ansicht aktualisiert werden. Dafür rufe ich Resync-Methode von Dataset auf. Es läuft ohne Fehlermeldung durch aber danach bleiben die "alte Werte" stehen.
Das Ganze als Testumgebung siehet so aus :
procedure TForm1.Button1Click(Sender: TObject);
begin
// Hier wird Datensatz editiert
adsEdit.Close;
adsEdit.Parameters.ParamByName('FSD_ID').Value := dsSend.FieldByName ('FSD_ID').AsInteger;
adsEdit.Open;
adsEdit.Edit;
// ändern ...
end;
// hier schreibe ich die Änderungen zurück und ...
procedure TForm1.Button2Click(Sender: TObject);
begin
if adsEdit.Active then
begin
adsEdit.Post;
adsEdit.Close;
adsSend.DisableControls; // Dataset für Anzeigen
adsSend.Recordset.Resync(adAffectCurrent, adResyncAllValues);
adsSend.EnableControls;
end;
end;
Fehlt's noch etwas oder ... ?
Vitali
Comment