"Informazioni sulla colonna chiave insufficienti o errate. Troppe righe interessate dall'aggiornamento"
codice:
procedure TfPrincipale.btnFasiRiordinaClick(Sender: TObject);
var qN: TADOQuery; k: integer;
begin
qN := TADOQuery.Create(nil);
qN.Connection := fDati.DB;
qN.SQL.Text := 'SELECT numerazione FROM fasi WHERE idprocesso = '+ fDati.ProcessiTabella.FieldByName('id').AsString;
qN.Open;
while not qN.Eof do
begin
qN.Edit;
Inc(k);
qN.FieldByName('numerazione').AsInteger := k * 10;
qN.Next;
end;
qN.Destroy;
end;
Ho risolto così:
codice:
var qN, qR: TADOQuery; k: integer;
begin
qN := TADOQuery.Create(nil);
qR := TADOQuery.Create(nil);
qN.Connection := fDati.DB;
qR.Connection := fDati.DB;
qN.SQL.Text := 'SELECT id FROM fasi WHERE idprocesso = '+ fDati.ProcessiTabella.FieldByName('id').AsString;
qN.Open;
while not qN.Eof do
begin
qN.Edit;
Inc(k);
qR.SQL.Clear;
qR.SQL.Add('UPDATE fasi SET numerazione = '+ IntToStr(k * 10) +' WHERE id = '+ qN.FieldByName('id').AsString);
qR.ExecSQL;
qN.Next;
end;
qN.Destroy;
qR.Destroy;