[firebase-br] Erro sinistro !

Anderson Miranda Barrozo andersonpaduarj em hotmail.com
Qui Jan 10 23:13:13 -03 2008


Descupe amigo, nao le o final de sua mensagem. Bem, esta tabela tem alguma trigers ?
 
Anderson Miranda
> From: fm-sistemas em fm-sistemas.com> To: lista em firebase.com.br> Date: Thu, 10 Jan 2008 23:09:49 -0200> Subject: Re: [firebase-br] Erro sinistro !> > Eu sei o que é isso. Aconteceu comigo.> > Após alterar, tu deve estar entrando numa rotina que faz um nova busca - > após um commit - para atualizar a tela e tu não tá fechando a consulta:> > Ex: Clientes.SQL.Clear;> Clientes.SQL.Add('Select * from clientes...> ... Dá erro> > Correto: Clientes.SQL.Close;> Clientes.SQL.Clear;> Clientes.SQL.Add('Select * from clientes...> ... Dá certo> > []'s> Fernando> > > ----- Original Message ----- > From: "Anderson" <infosag em terra.com.br>> To: "FireBase" <lista em firebase.com.br>> Sent: Friday, January 11, 2008 12:01 AM> Subject: Re: [firebase-br] Erro sinistro !> > > amigo show de explicacao !!!!> > ate exclui os componentes e os coloquei de volta com essas configuracoess !> > mas o problema ainda persiste !! consigo alterar o 1 registro e salva> tranquilo !> > mas se tento qq um dos ultimos ele da o erro !!!!> > se altero pelo IBexpert ele altera os registros em questao !> > e agora ?> > > ----- Original Message ----- > From: "Eduardo Bahiense" <eduardo em icontroller.com.br>> To: <lista em firebase.com.br>> Sent: Thursday, January 10, 2008 9:45 PM> Subject: Re: [firebase-br] Erro sinistro !> > > Olá Anderson> > Isto não é problema do FB, mas do(s) componente(s) que vc está usando.> Já acompanhei um erro como esse na lista da Borland, então vou arriscar> que seu caso seja semelhante.> Faz tempo que não trabalho com Delphi, então não leve as coisas ao pé da> letra.> > Se você estiver usando CDS+Provider, há uma propriedade no provider que> se refere ao modo de atualização (updatemode, se não me engano). Esta> propriedade, normalmente, vem com default Allfields (ou algo> semelhante). O melhor é que ela seja KeyOnly, pelo seguinte:> Quando está All e você edita um registro, ele vai montar um update do tipo:> UPDATE TABELA SET CAMPO = VALOREDITADO WHERE> CAMPO1=X AND CAMPO2=Y AND CAMPO3=Z AND CAMPON=...> > O problema é que se algum dos seus campos for TIMESTAMP, pode haver> diferença de milisegundos pelo tratamento do componente de acesso. Se> não me engano, isto também pode acontecer em campos FLOAT. A> conseqüência é que como a instrução de update se refere a todos os> campos, se um deles não for com o valor exato, vai furar a condição do> WHERE e o número de registros afetados pela instrução retorna ZERO. O> seu componente de acesso, por sua vez, interpreta isso como "Registro> não existente ou modificado por outro usuário".> > A solução então é trocar a propriedade para KeyOnly, ou seja, o UPDATE> será montado considerando somente a chave primária da tabela. Algo assim:> > UPDATE TABELA SET CAMPO = VALOREDITADO WHERE CAMPOPK=X> > Naturalmente, no mesmo componente de acesso, ou no provider, ou no CDS,> não lembro bem, você terá que indicar quais campos compõem a chave> primária da tabela em questão.> > Espero ter conseguido me fazer entender e ter ajudado.> Talvez algum colega mais ativo nesse assunto possa ajudar melhor,> principalmente se você nos disser mais sobre o seu ambiente de> senvolvimento - Linguagem, Sistema Operacional e Componente de acesso> utilizado.> > Abs,> > Eduardo> > Anderson escreveu:> > Pessoal tenho uma tabela com uns 100 itens> >> > o detalhe é que se tento alterar os primeiros registros ele altera na boa.> >> > mas se tento alterar os ultimos ele da:> >> > "record not found or changed by another user firebird" e depois "record> > not> > find"> >> > Ja restaurei backup, recriei indice, apaguei o codigo 83 por exemplo, e> > coloquei de novo !!!!> >> > e mesmo assim ainda da o erro !> >> > Uso fire 2.0 delphi 7 e Dbexpress> >> > Abracos> >> >> > ______________________________________________> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> > Para editar sua configuração na lista, use o endereço> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa> >> > > ______________________________________________> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> Para editar sua configuração na lista, use o endereço> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> Para consultar mensagens antigas: http://firebase.com.br/pesquisa> > > ______________________________________________> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> Para editar sua configuração na lista, use o endereço > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> Para consultar mensagens antigas: http://firebase.com.br/pesquisa> > > ______________________________________________> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos!
http://www.amigosdomessenger.com.br


Mais detalhes sobre a lista de discussão lista