Re: [firebase-br] IBO - Deixar o dataset posicionado no último registro gravado

João Henrique de Souza joao.henrique em jvsind.com.br
Seg Dez 5 07:37:13 -03 2005


Olá Andre

Só para efeito de informação, se vc quiser utilizar bookmark no IBO
basta criar uma variavel do tipo string (por exemplo: wbook: string) e
associar o mesmo com a propriedade bookmark do DataSet.
ou seja...
antes do post atribua:
wbook:=DataSet.Bookmark; (o dataset é a sua IB_Query ok?)
e apos o post e/ou commit;
DataSet.Bookmark:=wbook;
só isso.

Mas como o amigo Luiz disse, esse problema ta dificil de se imaginar,
pois a partir do momento que vc configurar o componente como te falamos
vc não deveria perder a posição do mesmo...
talvez vc esteja esquecendo de passar algum detalhe de como vc está
fazendo para podermos ajudá-lo.
Espero novidades de sucesso. ;)


[]´s
João Henrique

----- Original Message ----- 
From: "RedDevil" <reddevil em reddevil.eti.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Saturday, December 03, 2005 3:27 AM
Subject: Re: [firebase-br] IBO - Deixar o dataset posicionado no último
registro gravado


ola Andrei Luís,

apos ler as respostas que o Set e a Helen te deram na lista IBO Support,
eu fiz alguns testes e a conclusao a qual eu cheguei eh a de que se a
gente definir BufferSynchroFlags = [bsAfterEdit, bsAfterInsert] (eu
suponho que voce esta brincando com esse lance ae para conseguir uma
melhor sincronizaçao de buffer entre o client e o server...;o) como voce
fez, e ir dando apenas: "IB_QueryX.Post;", sem commitar, conforme o
exemplo que voce colocou la na roda, basta fazer como o João Henrique te
falou, deixar a propriedade CommitAction como "caInvalidateCursor", que
o ponteiro vai ficar sempre no registro que a gente acabou de incluir,
independentemente de quantos registros forem incluidos, e somente quando
a gente der um Commit eh que o(s) registro(s) incluido(s) durante a
Transaçao ira(ao) para o(s) seu(s) devido(s) "lugar(es)", conforme a
IB_Query esta ordenada, e o ponteiro retornara para o registro no qual
estava posicionado antes de a gente dar o(s) Insert(s), de a gente
incluir o(s) novo(s) registro(s)... para evitar isso, basta fazer
conforme o Set te falou, colocar a propriedade RefreshAction da IB_Query
como "raKeepDataPos", que entao, quando a gente dar o Commit e o(s)
registro(s) recem incluido(s) entrar(em) na sua ordem conforme a
IB_Query esta ordenada, o ponteiro acompanhara o ultimo registro que foi
incluido, e assim nao ficara posicionado no registro que estava antes
do(s) Insert(s)...

na boa, eu tentei de tudo, tentei ate deixar a propriedade AutoCommit do
IB_Transaction como True, conforme a Helen mencionou, mas nao consegui
fazer acontecer esse problema que voce mencionou...

a nao ser que apos o Post voce estivesse dando um Commit ou voce tenha
alterado alguma outra propriedade e nao mencionado essa alteraçao nos
posts que voce fez...

eu te pediria que, se nao for muito incomodo, voce postasse ae na lista
como ficou a tua historia, para dar uma força para o search, se alguem,
algum dia, se deparar com alguma dificuldade semelhante, okeyz?


[]s
força sempre!!!
ate +++

-- 
Luiz "RedDevil" Stefanski - Linux User #399026
http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630


Post By Andrei Luís:
> Não funcionou.
>
> []
> Andrei
>
> Em 02/12/05, João Henrique de Souza<joao.henrique em jvsind.com.br> escreveu:
>
>>Olá...
>>
>>Basta mudar a propriedade CommitAction para caInvalidateCursor.
>>
>>[]´s
>>João Henrique
>>
>>----- Original Message -----
>>From: "Andrei Luís" <compuvale.software em gmail.com>
>>To: "Firebase" <lista em firebase.com.br>
>>Sent: Friday, December 02, 2005 8:33 AM
>>Subject: [firebase-br] IBO - Deixar o dataset posicionado no último
registro
>>gravado
>>
>>
>>Bom dia,
>>
>>Estou com um pequeno problema:
>>
>>Se deixo meus ib_querys com  BufferSynchroFlags = [bsAfterEdit,
>>bsAfterInsert], após um .post, o ponteiro fica no registro que estava
>>antes do .insert.
>>
>>Pensei em utilizar Bookmarks como usava com os TTable e TQuery, mas
>>não entendi como funcionam no IBO.
>>
>>Alguem poderia dar uma luz ou uma outra direção?
>>
>>[]s
>>Andrei
>>
>>W2K + D4 Pro + FB 1.5.2 + IBO 4.5B


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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





Mais detalhes sobre a lista de discussão lista