Clipper On Line • Ver Tópico - DBF não gravando

DBF não gravando

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

Moderador: Moderadores

 

DBF não gravando

Mensagempor JoséQuintas » 09 Jan 2020 01:41

NUNCA aconteceu isto.

   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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

DBF não gravando

Mensagempor JoséQuintas » 09 Jan 2020 09:00

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

DBF não gravando

Mensagempor janio » 09 Jan 2020 09:40

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
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

DBF não gravando

Mensagempor Kapiaba » 09 Jan 2020 10:08

Tente:

   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
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

DBF não gravando

Mensagempor alxsts » 09 Jan 2020 12:23

Olá!

Outras opções:

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)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

DBF não gravando

Mensagempor JoséQuintas » 09 Jan 2020 14:07

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

DBF não gravando

Mensagempor Marcos Kieron » 14 Jan 2020 11:59

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
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

DBF não gravando

Mensagempor JoséQuintas » 14 Jan 2020 13:58

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

DBF não gravando

Mensagempor Marcos Kieron » 14 Jan 2020 22:37

entao nem perde tempo, use o SQLite que vai ganhar muito mais em velocidade
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

DBF não gravando

Mensagempor Kapiaba » 15 Jan 2020 09:52

Bom dia Marcos, tens um exemplo simples de uso da SQLite?? Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

DBF não gravando

Mensagempor asimoes » 15 Jan 2020 11:23

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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

DBF não gravando

Mensagempor Marcos Kieron » 15 Jan 2020 11:29

Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

DBF não gravando

Mensagempor Kapiaba » 15 Jan 2020 11:34

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.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

DBF não gravando

Mensagempor Marcos Kieron » 15 Jan 2020 11:56

Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

DBF não gravando

Mensagempor JoséQuintas » 15 Jan 2020 12:19

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro