Problema com IBTable/ITRansaction
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?
Alguém já viu algo assim?
Edilcimar
Curtidas 0
Respostas
Thomaz_prg
06/12/2005
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).
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).
GOSTEI 0
Edilcimar
06/12/2005
estou usando ibtable, ibtransaction e ibdatabase
GOSTEI 0
Edilcimar
06/12/2005
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
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
GOSTEI 0
Thomaz_prg
06/12/2005
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.
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.
GOSTEI 0
Edilcimar
06/12/2005
thomaz, não adiantou nada
GOSTEI 0
Thomaz_prg
06/12/2005
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
thomazs@ufac.br
GOSTEI 0
Edilcimar
06/12/2005
enviei um pedaço do código, se vc tiver meesenger fica mais fácil
GOSTEI 0
Edilcimar
06/12/2005
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
sem commit após reabertura
com commit, antes e depois
sem commit antes de fechar
sem commit após reabertura
com commit, antes e depois
GOSTEI 0
Edilcimar
06/12/2005
não sei porque as imagens somem do forum
GOSTEI 0
Eniorm
06/12/2005
(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...
defina o IBTransaction (dois cliques) e escolha ReadCommited
e... ao invés de usar IBTransaction.Commit, use IBTransaction.CommitRetaining;
testa e veja como sai...
GOSTEI 0
Edilcimar
06/12/2005
já estava como readcommited, e como era de se esperar commitretaining não faz a mínima diferença!
GOSTEI 0
Edilcimar
06/12/2005
É, não teve solução, tive que tirar a ibtable e uilizar um table do piradox
GOSTEI 0
Gandalf.nho
06/12/2005
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?
GOSTEI 0
Edilcimar
06/12/2005
não tentei, aqui preciso da tabela inteira pois são duas uma com os produtos e outra com as etiquetas a serem impressas
GOSTEI 0
Gandalf.nho
06/12/2005
Mas vc pode mostrar a tabela inteira, basta um simples SELECT * FROM tabela
GOSTEI 0
Edilcimar
06/12/2005
o problema é está ocorrendo é exatamente com a ibtable de etiquetas, onde eu estou incluindo as etiquetas e quantidades desejadas para serem impressas ao término da operação
GOSTEI 0