Fórum Problema com IBTable/ITRansaction #54127

06/12/2005

0

Coloco registros em uma ibtable, se eu usar o ibtransaction.commit, as 7 primeiros campos são preenchidos, os demais ficam com null, se não utilizar o ibtransaction.commit, todos os campos e registros aparecem, porém quando fecho o arquivo e abro novamente, o primeiro registro fica em branco e os restantes só são gravados os 7 primeiros campos!
Alguém já viu algo assim?


Edilcimar

Edilcimar

Responder

Posts

07/12/2005

Thomaz_prg

Nunca vi nada assim, mas, me responde uma coisa, você tá usando IBX + DataSetProvider + ClientDataSet ???
Se for, verifique se não estão ocorrendo erros a partir de determinado arquivo (grava tudo o que puder e descarta o que tiver erro quando se usa -1 como parâmetro para o applyupdates).


Responder

Gostei + 0

07/12/2005

Edilcimar

estou usando ibtable, ibtransaction e ibdatabase


Responder

Gostei + 0

07/12/2005

Edilcimar

Seguem imagens do problema, o dbgrid superior é só para mostrar o que está acontecendo com a tabela

Imagem utilizando o commit, antes de fechar o form e depois da reabertura do mesmo
[img][URL=http://img205.imageshack.us/my.php?image=comcommitantesfecharedepoisabe.jpg][img:2a1d2893b5]http://img205.imageshack.us/img205/971/comcommitantesfecharedepoisabe.th.jpg[/img:2a1d2893b5][/URL][/img]

Imagem sem utilização do commit, antes de fechar o form
[img][URL=http://img205.imageshack.us/my.php?image=semcommitantesfechar7jb.jpg][img:2a1d2893b5]http://img205.imageshack.us/img205/5628/semcommitantesfechar7jb.th.jpg[/img:2a1d2893b5][/URL][/img]

Imagem sem utilização do commit, após reabertura do form
[img][URL=http://img205.imageshack.us/my.php?image=semcommitapsreaberturadoform5r.jpg][img:2a1d2893b5]http://img205.imageshack.us/img205/6403/semcommitapsreaberturadoform5r.th.jpg[/img:2a1d2893b5][/URL][/img]

Apesar da imagem pequena, dá para notar os campos em branco no dbgrid superior


Responder

Gostei + 0

07/12/2005

Thomaz_prg

Tente fazer o seguinte (se já não estiver):

No transaction...
Dê 2 cliques e defina como ReadCommited...

E, após abrir o IBTable tente colocar IBTable.FetchAll;

PS: De preferência, coloque 1 Transaction (Exclusivo) para cada IBTable.


Responder

Gostei + 0

07/12/2005

Edilcimar

thomaz, não adiantou nada


Responder

Gostei + 0

07/12/2005

Thomaz_prg

Se possível, você me mandar apenas o código que não está funcionando, e seu banco de dados, pra eu dar uma olhada...

thomazs@ufac.br


Responder

Gostei + 0

07/12/2005

Edilcimar

enviei um pedaço do código, se vc tiver meesenger fica mais fácil


Responder

Gostei + 0

08/12/2005

Edilcimar

as imagens sumiram, eis os links, a parte importante é o dbgrid de cima, onde dá para ver que tem campos preenchidos e campos em branco

sem commit antes de fechar
[img:82c4e02427]http://img205.imageshack.us/img205/4677/semcommitantesfechar1fs.jpg[/img:82c4e02427]

sem commit após reabertura
[img:82c4e02427]http://img205.imageshack.us/img205/2282/semcommitapsreaberturadoform0a.jpg[/img:82c4e02427]

com commit, antes e depois
[img:82c4e02427]http://img205.imageshack.us/img205/4408/comcommitantesfecharedepoisabe1.jpg[/img:82c4e02427]


Responder

Gostei + 0

08/12/2005

Edilcimar

não sei porque as imagens somem do forum

[img:26de46e3d4]http://img35.imageshack.us/img35/1899/semcommitapsreaberturadoform4u.jpg[/img:26de46e3d4]

[img:26de46e3d4]http://img35.imageshack.us/img35/953/semcommitantesfechar8yl.jpg[/img:26de46e3d4]

[img:26de46e3d4]http://img35.imageshack.us/img35/971/comcommitantesfecharedepoisabe.jpg[/img:26de46e3d4]


Responder

Gostei + 0

09/12/2005

Eniorm

(sugestão)
defina o IBTransaction (dois cliques) e escolha ReadCommited
e... ao invés de usar IBTransaction.Commit, use IBTransaction.CommitRetaining;

testa e veja como sai...


Responder

Gostei + 0

09/12/2005

Edilcimar

já estava como readcommited, e como era de se esperar commitretaining não faz a mínima diferença!


Responder

Gostei + 0

13/12/2005

Edilcimar

É, não teve solução, tive que tirar a ibtable e uilizar um table do piradox


Responder

Gostei + 0

13/12/2005

Gandalf.nho

Não tentou usar usar um IBDataset ao invés do IBTable? Já que componentes do tipo Table não são recomendados para bancos cliente/servidor?


Responder

Gostei + 0

13/12/2005

Edilcimar

não tentei, aqui preciso da tabela inteira pois são duas uma com os produtos e outra com as etiquetas a serem impressas


Responder

Gostei + 0

13/12/2005

Gandalf.nho

Mas vc pode mostrar a tabela inteira, basta um simples SELECT * FROM tabela


Responder

Gostei + 0

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

Aceitar