"Informazioni sulla colonna chiave insufficienti o errate. Troppe righe interessate dall'aggiornamento"
Ho risolto così: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;
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;

Rispondi quotando