Fórum Excluir registro no FB? #284700

14/06/2005

0

Olá amigos, estou tendo um problema na hora de exluir um registro, estou usando Delphi 7 x Firebird com o DbExpress:

if not frmDM.cdsProcesso.IsEmpty then begin

if MessageDlg( ´Tem certeza que deseja excluir este registro?´, mtConfirmation, [mbYes, mbNo], 0 ) = mrYes then begin
frmDM.cdsProcesso.Delete;

try
frmDM.cdsProcesso.ApplyUpdates(0);
frmDM.cdsProcesso.Close;
ControlaBotoes;
except
ShowMessage( ´Erro ao tentar excluir registro no banco de dados.´ );
end;

end;

end;

Só que dá o seguinte erro: ´Unable to find record. No key specified´... alguem poderia me ajudar?


Joule

Joule

Responder

Posts

14/06/2005

Jairroberto

Olá, Joule!

É preciso saber como está configurado o UpdateMode do DataSetProvider e a propriedade ProviderFlags de cada Field do ClientDataSet.


Um abraço,
Jair


Responder

Gostei + 0

15/06/2005

Joule

O UpdateMode do DataSetProvider esta ´upWhereKeyOnly´ e esta marcada como true em todos os Field [pfInUpdate,pfInWhere] do ProviderFlags.


Responder

Gostei + 0

15/06/2005

Jairroberto

Olá, Joule!

Com a atual configuração dos TFields você deve mudar a propriedade UpdateMode do DataSetProvider para ´upWhereAll´. Para usar ´upWhereKeyOnly´ será necessário no campo chave do arquivo adicionar o ´ProviderFlag´ ´pfInKey´ para que o SQL utilize este campo na hora de montar a cláusula where na rotina de atualização dos registros.

Você pode obter mais detalhes no help do Delphi. Procure por ´UpdateMode´ (TBaseProvider.UpdateMode) e por ´ProviderFlags´ (TField.ProviderFlags)

Um abraço,
Jair


Responder

Gostei + 0

15/06/2005

Joule

Jair Roberto, muito obrigado pela atenção... já deu pra clear a ideia...flw


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar