Einzelnen Beitrag anzeigen

TomDooley

Registriert seit: 26. Jan 2004
124 Beiträge
 
#1

Update funktioniert nicht

  Alt 24. Mär 2005, 15:08
Datenbank: MS-SQL Server • Version: 2000 • Zugriff über: ADO
Hallo
Ich stelle Daten einer DB (SQLServer2000) in einem DBGrid dar. Dazu verwende ich ein ADODataSet.

Ich möchte nun z.B das Grid aktualisieren. Dazu verwende ich die Methode Resync. Leider wird daraufhin eine Fehlermeldung ausgegeben: "nicht genügend Schlüsselfeldinformationen zu Aktualisieren".

Woran liegt das?

Ich verwende als Query eine JOIN-Anweisung.

Ich verwende folgende Einstellungen:
CursorLocation : Client;
LockType : Optimistic;


Delphi-Quellcode:
procedure TF_UEL.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
  ADODataSet1.Recordset.Properties['Update Criteria'].Value := adCriteriaKey;
  ADODataSet1.Recordset.Properties['Unique Table'].Value := 'TBL_AAA';
end;
procedure TF_UEL.BitBtn1Click(Sender: TObject);
resourcestring
 cCmd = JOINABFRAGE;
begin
  ADODataSet1.Recordset.Properties['Resync Command'].Value := cCmd;
  ADODataSet1.Recordset.Resync(adAffectCurrent, adResyncAllValues);
end;
Danke für Tips

PS: Das selbe Problem tritt auf, wenn ich einen Wert in der DB ändern möchte:


Delphi-Quellcode:
procedure TF_UEL.SaveBoolean;
begin
  Self.DBGrid1.SelectedField.DataSet.Edit;
  Self.DBgrid1.SelectedField.AsBoolean := not Self.DBgrid1.SelectedField.AsBoolean;
  Self.DBGrid1.SelectedField.DataSet.Post;
end;
  Mit Zitat antworten Zitat