Olá Raphael. Você não explicou muito sobre a estrutura de seus controles visuais, então não posso dar uma dica mais pontual.
Supondo que esteja usando DBEdits para alterar os campos do banco de dados, você pode armazenar junto com o Item da ListView o valor da chave primária do registro. Creio que há um loop para ler os registros da tabela e transformá-los em items, certo? Assim fica minha dica: lmeuItem.Data := TObject(MinhaDataset.FieldByName('campo_chave').AsInteger; depois, você pode recuperar este valor e fazer um FindKey no Dataset ichavePrimaria := Integer(lmeuItem.Data); MinhaDataset.SetKey; MinhaDataset.FieldByName('campo_chave').AsInteger := ichavePrimaria; MinhaDataset.FindKey; É evidente que meu código não vai funcionar, é apenas uma dica de um caminho que você pode seguir. Abraços;