Fórum ClientDataSet com DBExpress #400189

03/05/2011

0

Estou iniciando o uso do CleintDataSet e estou com algumas dúvidas sobre a sintaxe do delete e do edit.

Gostaria de um exemplo de como implementar esses comandos, uma vez que quando executo o código abaixo dá mensagem de erro:

Clientdataset.delete;
Clientdataset.post;
Clientdataset.ApplyUpdate(0);

Macedo.
Francisco Macedo

Francisco Macedo

Responder

Posts

03/05/2011

Alan Souza

retire a linha do post, ela não é necessária.
Responder

Gostei + 0

03/05/2011

Francisco Macedo

Caro alanps!

Como saber se o registro correto está sendo deletado?

Você poderia me enviar um comando completo para deletar um determinado registro.

Macedo.


Responder

Gostei + 0

03/05/2011

Alan Souza

o comando Delete vai apagar o registro corrente, então se vc deseja apagar um determinado registro pode navegar no DataSet ou usar Locate:

ClientDataSet1.Locate('campo',valoraserbuscado,[]);


os colchetes podem ser preenchidos com os parâmetros loPartialKey e loCaseInsensitive.

ou, dependendo da sua aplicação, vc pode habilitar o CommandText e escrever direto um Delete por SQL através dele.
Responder

Gostei + 0

05/05/2011

Francisco Macedo

Tentei implementar o comando abaixo:

     DM.ClientDataSet.Delete;
     DM.ClientDataSet.ApplyUpdates(0);

e deu a mensagem de erro:

prjproject.exe raised exception class TDBError with message 'Column Unknown @1 At line@1, Column @2'
Responder

Gostei + 0

05/05/2011

Rodrigo Mattos

o que você colocou no seu SQL?
Responder

Gostei + 0

05/05/2011

Rodrigo Mattos

o que você colocou no seu SQL?




É uma coluna que não existe, executa seu Select no IBExpert.
Responder

Gostei + 0

05/05/2011

Francisco Macedo

Coloquei o seguinte:

SELECT A.*,B.* FROM CADASTRO A, ENDERECO B WHERE A.CPF=B.CPF
ORDER BY A.CPF

Responder

Gostei + 0

05/05/2011

Francisco Macedo

O SQL funciona corretamente no IBExpert.
Responder

Gostei + 0

05/05/2011

Rafael Mattos


   SELECT A.*,B.* FROM CADASTRO A, ENDERECO B WHERE A.CPF=B.CPF

   ORDER BY A.CPF



é pq vc ta tentando dar um delete, e vc tem uma junção do CADASTRO E ENDERECO vai dar erro mesmo, até uma simples alteração no cadastro vai dar erro faz o teste pra vc ver.

altera seus ProviderFlags que da certo
Responder

Gostei + 0

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

Aceitar