Tage lang versuche ich nur ein Integer-Feld (Pickstatus, länge 10, vorbelegt mit 0) zu ändern.
Der Konstrukt ist klar: Datenbank(TSQLConnection) -> SDS(TSQLDataset) -> DSP(TDataSetProvider) -> CDS (TClientDataSet) ->DS(TDataSource) für das Grid.
Es soll so sein, dass wenn im Grid auf ein Datensatz geklickt wird, dessen Feld PickStatus auf 5 (Variable:= loe) verändert werden soll.
Jedoch bekomme ich beim Post immer 'Field Value required'. Ich hab volle Schreib/Leserechte auf die Datenbank.
Der Code:
Delphi-Quellcode:
procedure TPickStatus.GridCellClick(Column: TColumn);
var loe: integer;
begin
loe:=5;
ID_i:=datamodule1.cds.FieldByName('ID').value;
with datamodule1.SDS do
begin
if Active then Active:=False;
SQL_str:='select * from Packingstructure where ID= '+IntToStr(ID_i);
CommandText:=SQL_str;
Active:=True;
with DataModule1.CDS do
begin
ShowMessage(IntToStr(RecordCount)); //Nur zum Testen
if Recordcount >= 1 then
begin
Active:=True;
Edit;
FieldbyName('PickStatus').value:=loe;
Post;
ApplyUpdates(-1);
end
else
begin
ShowMessage('<> 1 Satz Anz: '+IntToStr(RecordCount));
exit;
end;
end;
end;
end;
Nun, ich bin ein bloddy beginer, also habt bitte nachsicht mit mir....
Was will mir die Fehlermeldung sagen?
Ich danke für Eure Ideen......