update table does not have pk or row identifier oque está acontecendo?

23/03/2017

0

Após tentar fazer um post está ocorrendo este erro oque seria ?
 while (FDQUERY1.Eof <> True) do begin

               fdbusca.Active := false;
               fdbusca.sql.text := 'select ID,PACIENTE,DATA,TEXTO from '+tabela1.text+' where id='+FDQUERY1.FieldByName('ID').AsString;
               fdbusca.Active := true;

               qSqlInsere.Active := false;
               qSqlInsere.sql.text := 'select * from '+tabela2.text;
               qSqlInsere.Active := true;

               DSINSERIR.DataSet.Edit;
               DsINSERIR.DataSet.FieldByName('ID').Value := fdbusca.FieldByName('ID').Value;
               DsINSERIR.DataSet.FieldByName('CODCLI').Value:= fdbusca.FieldByName('PACIENTE').Value;
               DsINSERIR.DataSet.FieldByName('DATAREGISTRO').Value:= fdbusca.FieldByName('DATA').Value;
               DsINSERIR.DataSet.FieldByName('ANOTACAO').ASSTRING:= fdbusca.FieldByName('TEXTO').AsString;
               virgula1 := ',';

                 
                DSINSERIR.DataSet.Post;
                fdquery1.Next;
Rodrigo Oliveira

Rodrigo Oliveira

Responder

Posts

23/03/2017

Jones Granatyr

Opa! A mensagem de erro está indicando que sua tabela está sem uma chave primária definida. Chegou a verificar isso?
Responder

01/09/2020

Pedro Deola

Boa noite.

Para o caso de mais alguém chegar a este tópico, vou deixar duas soluções que me ajudaram.

1) No componente da tabela, procure a propriedade IndexFieldNames e adicione a coluna que é a chave da sua tabela.
2) Pode ser que você esteja tentando salvar um campo required sem valor. No meu caso era isso o problema, apenas desmarquei esta opção.

Espero ter ajudado alguém.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar