ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[Resolvido]Post do ClientDataSet não está funcionando

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fernando_bigode
Novato
Novato


Registrado: Quinta-Feira, 1 de Dezembro de 2011
Mensagens: 75

MensagemEnviada: Seg Set 10, 2012 3:01 pm    Assunto: [Resolvido]Post do ClientDataSet não está funcionando Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
daniel8634
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 25 de Novembro de 2010
Mensagens: 194
Localização: Governador Valadares / Belo Horizonte

MensagemEnviada: Seg Set 10, 2012 4:57 pm    Assunto: Re: Post do ClientDataSet não está funcionando Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
fernando_bigode
Novato
Novato


Registrado: Quinta-Feira, 1 de Dezembro de 2011
Mensagens: 75

MensagemEnviada: Seg Set 10, 2012 5:21 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
daniel8634
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 25 de Novembro de 2010
Mensagens: 194
Localização: Governador Valadares / Belo Horizonte

MensagemEnviada: Seg Set 10, 2012 5:34 pm    Assunto: Responder com Citação

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é Smile 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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
fernando_bigode
Novato
Novato


Registrado: Quinta-Feira, 1 de Dezembro de 2011
Mensagens: 75

MensagemEnviada: Ter Set 11, 2012 9:54 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
daniel8634
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 25 de Novembro de 2010
Mensagens: 194
Localização: Governador Valadares / Belo Horizonte

MensagemEnviada: Ter Set 11, 2012 10:14 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB