DBF não gravando

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

DBF não gravando

Mensagem por JoséQuintas »

NUNCA aconteceu isto.

Código: Selecionar todos

   SELECT jpanpmov
   GOTO TOP
   DO WHILE ! Eof()
      RecLock()
      REPLACE jpanpmov->amAnpNum WITH StrZero( nContador, 6 )
      RecUnlock()
Acompanhei pelo debug, está executando essa linha de gravação.
Mas ao olhar o DBF... tá tudo vazio.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

DBF não gravando

Mensagem por JoséQuintas »

O problema continua.
Coloquei pra mostrar durante a gravação, e mostra certo.
Mas no final, mesmo NÃO fechando arquivos, tá vazio.

Só resta agora usar alguma alternativa pra substituir esse dbf temporário.

Mas ainda tenho coisas em DBF, não sei o que pensar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

DBF não gravando

Mensagem por janio »

Possíveis problemas:

- Falta de commit ao final do loop
- Antivirus
- Problema disco rígido
- Cache do windows
- Tabela corrompida
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

DBF não gravando

Mensagem por Kapiaba »

Tente:

Código: Selecionar todos

   SELECT jpanpmov
   GOTO TOP

   WHILE ! Eof()

      IF EOF()

         APPEND BLANK // Novo registro.

      ELSE  // Alteracao de registro.

         GOTO nRecno

      ENDIF   

      RecLock()

      REPLACE jpanpmov->amAnpNum WITH StrZero( nContador, 6 )

      Commit

   ENDDO

   Unlock
Abs
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

DBF não gravando

Mensagem por alxsts »

Olá!

Outras opções:

Código: Selecionar todos

jpanpmov->( DbGoTop() )

While jpanpmov->( ! Eof() )
   jpanpmov->( RecLock() ) , ;
               amAnpNum := StrZero( nContador, 6 ), ;
               DbCommit(), ;
               RecUnLock(), ;
               DbSkip() ;
             )
Enddo

// Ou

jpanpmov->( DbGoTop(), DbEval( { ||amAnpNum := StrZero( nContador, 6 ) } ), DbCommit() )
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

DBF não gravando

Mensagem por JoséQuintas »

O problema era o programador.
Tinha dois campos com nome parecido pra numeração.
Estava salvando em um e olhando o outro.
É que teve tanta coisa pra resolver, que não estava enxergando o nome diferente.
Agora pude eliminar a numeração local, e deixar só a numeração oficial, que faz parte da transmissão.
Nunca mais vai ter confusão.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Marcos Kieron
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 14 Jan 2020 10:29
Localização: São Paulo/SP

DBF não gravando

Mensagem por Marcos Kieron »

O nome do campo está complicado demais
Sugiro fazer o seguinte:
Usar nomes simples, fáceis e óbvios.
Deletar o índice, reconstruir o NTX ou CDX ou NDX que estiver usando
Resetar o computador

ou melhor ainda, não usar DBF, use SQLite, MySQL, Postgress, etc... qualquer coisa que não seja DBF vai ser melhor
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

DBF não gravando

Mensagem por JoséQuintas »

Marcos Kieron escreveu:O nome do campo está complicado demais
Sugiro fazer o seguinte:Usar nomes simples, fáceis e óbvios.
Um dos campos foi eliminado.
Marcos Kieron escreveu: Deletar o índice, reconstruir o NTX ou CDX ou NDX que estiver usando
Resetar o computador ou melhor ainda, não usar DBF, use SQLite, MySQL, Postgress, etc...
qualquer coisa que não seja DBF vai ser melhor
o arquivo é temporário, sem sentido criar em servidor.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Marcos Kieron
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 14 Jan 2020 10:29
Localização: São Paulo/SP

DBF não gravando

Mensagem por Marcos Kieron »

entao nem perde tempo, use o SQLite que vai ganhar muito mais em velocidade
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

DBF não gravando

Mensagem por Kapiaba »

Bom dia Marcos, tens um exemplo simples de uso da SQLite?? Obg. abs.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

DBF não gravando

Mensagem por asimoes »

Kapiaba escreveu:Bom dia Marcos, tens um exemplo simples de uso da SQLite?? Obg. abs.
Um exemplo de CRUD tem como postar?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Marcos Kieron
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 14 Jan 2020 10:29
Localização: São Paulo/SP

DBF não gravando

Mensagem por Marcos Kieron »

SQLite para quem precisa: https://hmglights.wordpress.com/2014/03 ... m-precisa/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

DBF não gravando

Mensagem por Kapiaba »

Asimões, aprendi uma nova:

CRUD (acrónimo do inglês Create, Read, Update and Delete) são as quatro operações básicas (criação, consulta, atualização e destruição de dados) utilizadas em bases de dados relacionais (RDBMS) fornecidas aos utilizadores do sistema.

SQLite é para Harbour MiniGUI Lights? Não conheço e não uso. Uso Fivewin. Mesmo assim agradeço Marcos.

Vivendo e aprendendo. Many thanks. Abs.
Marcos Kieron
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 14 Jan 2020 10:29
Localização: São Paulo/SP

DBF não gravando

Mensagem por Marcos Kieron »

Não, pode usar em qualquer linguagem, Harbour, HMG, C, etc...
Só passei aquele exemplo porque estava na mão, mas tem outros.

Veja na comunidade HMG também (com exemplos de uso):
http://www.hmgforum.com/viewtopic.php?f=15&t=853
http://www.hmgforum.com/viewtopic.php?f=5&t=5994
http://www.hmgforum.com/viewtopic.php?f=6&t=1507
http://www.hmgforum.com/viewtopic.php?f=24&t=5271
http://www.hmgforum.com/viewtopic.php?f=15&t=4502
http://www.hmgforum.com/viewtopic.php?t=1507
http://www.hmgforum.com/viewtopic.php?f=5&t=1854
http://www.hmgforum.com/viewtopic.php?f=8&t=1562

Aqui mesmo neste forum:
viewtopic.php?f=42&t=18480

Do mesmo autor:
https://programandoxbase.wordpress.com/ ... -classe-i/

Basta substituir a parte HMG por equivalente FiveWin ou outro que utilize
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

DBF não gravando

Mensagem por JoséQuintas »

Kapiaba escreveu:SQLite é para Harbour MiniGUI Lights? Não conheço e não uso. Uso Fivewin. Mesmo assim agradeço Marcos.
Se não me engano, no Harbour a contrib acrescenta o SQLite ao Harbour, sem precisar nada adicional.

Isso me leva a pensar uma coisa:

Será o SQLite rápido, ou trabalhar com SQL é que faz dele rápido?
Porque DBF através de comandos SQL... é muito rápido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder