Clipper On Line • Ver Tópico - Hbpgsql data null com fieldput

Hbpgsql data null com fieldput

Discussão sobre SQL

Moderador: Moderadores

 

Hbpgsql data null com fieldput

Mensagempor marco.prodata » 30 Mar 2021 09:38

Caros,

Como gravar data em branco usando a hbpgsql usando o oRow:fieldput?
marco.prodata
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 30 Nov 2018 09:07
Cidade/Estado: Caratinga
Curtiu: 16 vezes
Mens.Curtidas: 11 vezes

Hbpgsql data null com fieldput

Mensagempor marco.prodata » 31 Mar 2021 15:26

Mandei um PR com a solução do problema, vamos ver se aceitam.
marco.prodata
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 30 Nov 2018 09:07
Cidade/Estado: Caratinga
Curtiu: 16 vezes
Mens.Curtidas: 11 vezes

Hbpgsql data null com fieldput

Mensagempor alxsts » 31 Mar 2021 16:29

Olá!

E qual é a solução para o problema? Poderia compartilhar, caso a tenha encontrado?
[]´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

Hbpgsql data null com fieldput

Mensagempor Itamar M. Lins Jr. » 31 Mar 2021 17:30

Olá!
No harbour 3.4 do Viktor tem algumas intervenções dele sobre esse problema.
Não lembro, mas li no Changelog alguma coisa.
2017-05-23 22:35 UTC Viktor Szakats (vszakats users.noreply.github.com)
  * contrib/hbpgsql/tpostgre.prg
    + add :SetNull( <lSet> ) to TPQServer class
      and a param to :Query( <cQuery>, [ <lNull> ] )
      TPQQuery class constructor is also extended.

      With :SetNull( .T. ) retains NULL information as NIL. Standard
      behaviour of hbpgsql library, until now, was to substitute NULL
      with blank xBase value - thus :SetNull( .F. ) is the default
      setting.

    ; Merge from Aleksander CzajczyÅ„ski's fork (with minor cleanups):
      https://github.com/alcz/harbour/commit/d5e681f79efd38f937935e07769361a50234db18


Não sei se tem no HB32. tem que ficar lendo lá e cá...

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6950
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 507 vezes

Hbpgsql data null com fieldput

Mensagempor Itamar M. Lins Jr. » 31 Mar 2021 17:34

Olá!
Abri o link e achei isso.
2015-05-07 22:24 UTC+0200 Aleksander Czajczynski (hb fki.pl)

  * src/rdd/dbcmd.c
    + added HB_FieldPut( <n>, <xVal> ) which is like FieldPut(), but
      accepts NIL value as 2-nd parameter. FieldPut() ignores NIL and
      shouldn't be changed, because of Clipper compatibility
      and possible regressions.

  * contrib/hbpgsql/tpostgre.prg
    + added :SetNull( <lSet> ) to TPQServer class
      and a param to :Query( <cQuery>, [ <lNull> ] )
      TPQQuery class constructor is also extended.

      With :SetNull( .T. ) retains NULL information as NIL. Standard
      behaviour of hbpgsql library, until now, was to substute NULL
      as blank xBase value - thus :SetNull( .F. ) is the default setting.


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6950
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 507 vezes

Hbpgsql data null com fieldput

Mensagempor marco.prodata » 01 Abr 2021 15:42

alxsts escreveu:Olá!

E qual é a solução para o problema? Poderia compartilhar, caso a tenha encontrado?


Agora basta usar: oRow:FieldPut( <numerodocampo>, ctod('')) que vai funcionar, na verdade qualquer campo que vc passar oRow:FieldPut(<numerodocampo>, nil) vai gravar null no bd.

https://github.com/harbour/core/pull/235
Esse é o PR que tinha mandando, o Aleksander mesclou com outras mudanças q tinha no repositório do Viktor e publicou.

Vou fazer outro acrescentando a possibilidade de trabalhar com campos timestamp do banco de dados, baseado num exemplo que um usuário da lista do harbour me mandou, e ver se os caras implementam também
marco.prodata
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 30 Nov 2018 09:07
Cidade/Estado: Caratinga
Curtiu: 16 vezes
Mens.Curtidas: 11 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 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