Fórum Nao consigo gravar os dados no servidor #396401

25/02/2011

0

Galera uso delphi 2010 e firebird 2.5. To fazendo o curso do guiter de multicamas com datasnap e dbx. ta acontecendo que quando vou inserir ou alterar um registro, ele so insere localmente, ou seja, nao ta gravando no banco de dados do servidor. Ja tentei usar o dbNavigator, ja usei DM.cdsDepartamento.ApplyUpdates(0) e nenhum deles grava os dados no servidor. E se eu der um refresh dá o seguinte erro:  CDSdepartamento : Must apply updates before refreshing data galera será que pode ser um Erro no na configuraçao do banco de dados?? Me ajudem ai pq ja to tentando a varios dias resolver e nao consigo. To adorando o curso e vou passar todas minhas aplicaçoes pra 3 camadas, mas preciso resolver este problema. valew
Marcos Silva

Marcos Silva

Responder

Posts

26/02/2011

Marco Salles

Pode ser muito as fontes de erro , uma vioçação de chave , um campo duplicado  , um campo que nao pode ser nulo, tentar gravar dados fora do dominio , erro de relacionamento , problema internos como definição dos providers enfim uma inifinidadde de erros.. Para uma melhor análise , programe o evento OnReconcilleErro do seu DataSet e que ira exibir o Tipo de erro , para melhor avaliação da origem do erro   Showmessage(e.message); // Codifique dentro do evento    
Responder

Gostei + 0

26/02/2011

Marcos Silva

o erro que ta dando é must apply updates before refreshing data   mas eu estou dando o apllyupdates primeiro. Ja tentei de tudo e nao consigo. Sera que teria um exemplo pronto, bem basico mesmo, em 3 camadas pra eu ver o q to fazendo errado.?  Dai se tiver como me mandar um exemplo eu dou um builder nela e instalo o aplicativo COM+ e os componentes aqui. pode ser ate mesmo o exemplo do guiter. Pode ser qualquer coisa em 3 camadas. valew
Responder

Gostei + 0

26/02/2011

Marco Salles

o erro que ta dando é must apply updates before refreshing data   mas eu estou dando o apllyupdates primeiro. Ja tentei de tudo e nao consigo. Sera que teria um exemplo pronto, bem basico mesmo, em 3 camadas pra eu ver o q to fazendo errado.?  Dai se tiver como me mandar um exemplo eu dou um builder nela e instalo o aplicativo COM+ e os componentes aqui. pode ser ate mesmo o exemplo do guiter. Pode ser qualquer coisa em 3 camadas. valew
calma ai   vc colocou no evento onreconcileError ??? e viu esta mensagem ??? como sugerido ???   Qnt o erro é o seguinte , vc so pode dar um Refresh se o delta tiver zerado .. senão vai dar erro mesmo   o problema seu não é o must apply updates before refreshing data  , mas sim o erro que não ta te deixando gravar no banco   Por exemplo   if SeuCds.Change.count = 0 then  seuCds.Refresh;  // assim não da erro   mas para resolver , tem que colocar o erro que vc esta obtendo no momento de dar um applayUpdates e não o erro que me parece ser do Refresh apos um ApplayUpdates mau suscedito   entende ???    
Responder

Gostei + 0

26/02/2011

Marco Salles

o erro que ta dando é must apply updates before refreshing data   mas eu estou dando o apllyupdates primeiro. Ja tentei de tudo e nao consigo. Sera que teria um exemplo pronto, bem basico mesmo, em 3 camadas pra eu ver o q to fazendo errado.?  Dai se tiver como me mandar um exemplo eu dou um builder nela e instalo o aplicativo COM+ e os componentes aqui. pode ser ate mesmo o exemplo do guiter. Pode ser qualquer coisa em 3 camadas. valew
calma ai   vc colocou no evento onreconcileError ??? e viu esta mensagem ??? como sugerido ???   Qnt o erro é o seguinte , vc so pode dar um Refresh se o delta tiver zerado .. senão vai dar erro mesmo   o problema seu não é o must apply updates before refreshing data  , mas sim o erro que não ta te deixando gravar no banco   Por exemplo   if SeuCds.Change.count = 0 then  seuCds.Refresh;  // assim não da erro   mas para resolver , tem que colocar o erro que vc esta obtendo no momento de dar um applayUpdates e não o erro que me parece ser do Refresh apos um ApplayUpdates mau sucedido   entende ???    
Responder

Gostei + 0

27/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

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

Aceitar