Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonardo_Iron

Gravação no Banco em tempo de execução

Recommended Posts

Oi galera, estou com um super problema e tomara q alguém possa me ajudar é urgente, fiz um sistema e tenho q colocar ele na rede, já realizei alguns testes e ta acontecendo o seguinte, caso eu realize uma inclusão, alteração ou exclusão, ou seja, caso eu realize uma alteração no banco a outra makina q esta acessando o sistema só enxerga essa alteração quando saio do sistema e acesso de novo, vou colocar o código q estou usando p/ tentar fazer com q o banco grave a alteração no momento q acontece essa alteração. O banco é interbase e estou usando IBDataBase, IBTransaction e IBDataSetfunction TDM.Update_BD: boolean;begin// Atualizando o Banco de Dados em tempo de execuçãotry DM.IBTransaction.CommitRetaining;except DM.IBTransaction.Rollback; MessageDlg('Erro na Gravação!', mtError, [mbOk], 0);end;// --------------------------------------------------end;Chamo essa função toda vez q do um post nos ibdataset ao longo do sistema, exemplo: DM.TableBens.post;DM.Update_BD;Devo dar um commit em vez do commitretainig? Ta faltando mais alguma coisa? Se puderem me ajudar ficarei muito grato é urgente!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acontecendo o seguinte, caso eu realize uma inclusão, alteração ou exclusão, ou seja, caso eu realize uma alteração no banco a outra makina q esta acessando o sistema só enxerga essa alteração quando saio do sistema e acesso de novo,

Acredito que isso seja normal em aplicações Cliente/Servidor.... Entenda que as estações estão com uma "copia" dos dados em memoria ou em Cache Local e não acessando diretamente os dados no Banco da dados... Por isso as alteraçoes somente serão visiveis a outros usuários uando eles efetuarem um "Refresh" dos dados...Nao uso a IBX mas acredito que deva haver um metodo:DM.TableBens.ResreshOu ainda Fechar e Abrir novamente a Query... dessa maneira os Terminais irão pegar novos dados no BD e atualizar o Cache local...Mas cuidado... NAO é aconselha efeuar muitos "Refreshs" caso contrário você terá um trafego enorme na rede e um sistema muito lento.... o que se costuma fazer é inserir um Botao para efetuar o "Refresh"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa Ademir não sei nem como te agradecer cara, olha rodei essa net toda, achei de tudo mais nada deu certo, ate em dll do interbase eu vi nego falando p/ mexer e nada... Poxa muito obrigado mesmo, se você tiver hotmail ate gostaria q você me informasse p/ ver se eu posso retribuir de alguma forma a sua informação, vlw mesmo irmaum, obrigadaum!!!! No q precisar estou aí! Leonardo! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.