Nao consigo gravar os dados no servidor
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
Curtidas 0
Respostas
Marco Salles
25/02/2011
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
GOSTEI 0
Marcos Silva
25/02/2011
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
GOSTEI 0
Marco Salles
25/02/2011
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 ???
GOSTEI 0
Marco Salles
25/02/2011
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 ???
GOSTEI 0
José
25/02/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0