 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
fernando_bigode Novato

Registrado: Quinta-Feira, 1 de Dezembro de 2011 Mensagens: 75
|
Enviada: Seg Set 10, 2012 3:01 pm Assunto: [Resolvido]Post do ClientDataSet não está funcionando |
|
|
Quando estou inserindo um novo registro, consigo ver os campos sendo atualizados tanto nos TDBEdits, quanto no TDBGrid. No entanto, quando eu clico no meu botão incluir, que executa o método Post do meu ClientDataSet, os dados somem. Isso também acontece se eu chamar diretamente o ApplyUpdates. O registro é gravado no banco, porém some do DBGrid, então preciso fechar e abrir novamente meu ClientDataSet, para atualizar, e buscar o registro novamente. Isso sempre ocorre quando estou inserindo um novo registro no meu DataSet.
O que pode estar acontecendo?
Editado pela última vez por fernando_bigode em Ter Set 11, 2012 10:10 am, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
daniel8634 Aprendiz

Registrado: Quinta-Feira, 25 de Novembro de 2010 Mensagens: 194 Localização: Governador Valadares / Belo Horizonte
|
Enviada: Seg Set 10, 2012 4:57 pm Assunto: Re: Post do ClientDataSet não está funcionando |
|
|
| fernando_bigode escreveu: | Quando estou inserindo um novo registro, consigo ver os campos sendo atualizados tanto nos TDBEdits, quanto no TDBGrid. No entanto, quando eu clico no meu botão incluir, que executa o método Post do meu ClientDataSet, os dados somem. Isso também acontece se eu chamar diretamente o ApplyUpdates. O registro é gravado no banco, porém some do DBGrid, então preciso fechar e abrir novamente meu ClientDataSet, para atualizar, e buscar o registro novamente. Isso sempre ocorre quando estou inserindo um novo registro no meu DataSet.
O que pode estar acontecendo? |
Cara, não sei como está fazendo no teu código ai, mas é estranho isso acontecer, da uma olhada como você esta fazendo na inclusão do registro.
Basicamente a inclusão do registro é:
ClientDataSet1.Close;
ClientDataSet1.Open;
ClientDataSet1.Insert; ou ClientDataSet1.Append;
Para salvar:
ClientDataSet1.Post;
ClientDataSet1.ApplyUpDates(0); ou ClientDataSet1.ApplyUpDates(-1);
da uma olhada ai.
Valeu.
Abraço.
Daniel Alves _________________ Daniel Alves
Analista / Programador
daniel8634@gmail.com / daniel8634@hotmail.com
Skype: daniel.alves1986 |
|
| Voltar ao Topo |
|
 |
fernando_bigode Novato

Registrado: Quinta-Feira, 1 de Dezembro de 2011 Mensagens: 75
|
Enviada: Seg Set 10, 2012 5:21 pm Assunto: |
|
|
Exatamente amigo. Tanto é que eu controlo a questão dos ID's, pois incremento eles na aplicação. Então no evento AfterInsert eu pego o último ID do generator e antes de gravar, eu efetuo o Post, depois o ApplyUpdates, e depois incremento o generator, tudo na aplicação, ou seja, não uso triggers.
Bom, criei outro formulário simples usando os mesmo Datasets desse que está com problema, e o erro sumiu. Então cheguei a conclusão de que vou ter que criar todo o meu formulário novamente. Às vezes tem alguns bugs, que só corrige refazendo desde o ínicio.
Enfim, vou refazer aqui, e posto se resolveu ou não. Valeu de qualquer forma! |
|
| Voltar ao Topo |
|
 |
daniel8634 Aprendiz

Registrado: Quinta-Feira, 25 de Novembro de 2010 Mensagens: 194 Localização: Governador Valadares / Belo Horizonte
|
Enviada: Seg Set 10, 2012 5:34 pm Assunto: |
|
|
| fernando_bigode escreveu: | Exatamente amigo. Tanto é que eu controlo a questão dos ID's, pois incremento eles na aplicação. Então no evento AfterInsert eu pego o último ID do generator e antes de gravar, eu efetuo o Post, depois o ApplyUpdates, e depois incremento o generator, tudo na aplicação, ou seja, não uso triggers.
Bom, criei outro formulário simples usando os mesmo Datasets desse que está com problema, e o erro sumiu. Então cheguei a conclusão de que vou ter que criar todo o meu formulário novamente. Às vezes tem alguns bugs, que só corrige refazendo desde o ínicio.
Enfim, vou refazer aqui, e posto se resolveu ou não. Valeu de qualquer forma! |
É realmente as vezes acontece de ter de refazer mesmo, já aconteceu comigo de trocar componentes de relatório e voltar a funcionar normalmente, vai entender né mas veja ai então qualquer coisa posta ai novamente.
Valeu.
Abraço. _________________ Daniel Alves
Analista / Programador
daniel8634@gmail.com / daniel8634@hotmail.com
Skype: daniel.alves1986 |
|
| Voltar ao Topo |
|
 |
fernando_bigode Novato

Registrado: Quinta-Feira, 1 de Dezembro de 2011 Mensagens: 75
|
Enviada: Ter Set 11, 2012 9:54 am Assunto: |
|
|
Consegui resolver cara. Problema besta de falta de atenção.
Meus itens estavam filtrados por um campo com o nome ATIVO e seu valor igual a SIM, e toda vez que eu cadastrava um novo, eu estava deixando o valor do campo ATIVO como vazio. Logo, como o dataset está filtrado, o item vai sumir. Bastou eu buscar o valor ATIVO de outra tabela e setar para o campo que o filtro aponta. |
|
| Voltar ao Topo |
|
 |
daniel8634 Aprendiz

Registrado: Quinta-Feira, 25 de Novembro de 2010 Mensagens: 194 Localização: Governador Valadares / Belo Horizonte
|
Enviada: Ter Set 11, 2012 10:14 am Assunto: |
|
|
| fernando_bigode escreveu: | Consegui resolver cara. Problema besta de falta de atenção.
Meus itens estavam filtrados por um campo com o nome ATIVO e seu valor igual a SIM, e toda vez que eu cadastrava um novo, eu estava deixando o valor do campo ATIVO como vazio. Logo, como o dataset está filtrado, o item vai sumir. Bastou eu buscar o valor ATIVO de outra tabela e setar para o campo que o filtro aponta. |
Acontece cara, mas que bom que resolveu!
Valeu.
Abraço.
Daniel Alves _________________ Daniel Alves
Analista / Programador
daniel8634@gmail.com / daniel8634@hotmail.com
Skype: daniel.alves1986 |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|