Página 1 de 1

Gravar campo NULL em tabela MySQL...

Publicado: Mar Ene 08, 2013 7:42 pm
por Sommus
Senhores,
Creio que há um pequeno bug no xailer em relação método UPDATE() do componente TSQLQuery, quando usado com o MySQL... Ou não estou usando corretamente...
Em alguns campos de algumas tabelas, preciso que grave NULO (NULL), mas, o método update() do componente TSQLQuery SEMPRE grava VAZIO (EM BRANCO)...
Para resolver o problema, antes de chamar o método update(), atribuo NIL ao campo. Ex: ::oSQLQuery:campo:=NIL
Porém, não acho que deveria ser assim, pois se não informei valor nenhum para gravar no campo, tem que gravar NULL...
Obrigado pela atenção,
Reginaldo

Gravar campo NULL em tabela MySQL...

Publicado: Jue Ene 10, 2013 10:49 am
por jfgimenez
Reginaldo,
> Creio que há um pequeno bug no xailer em relação método
> UPDATE() do componente TSQLQuery, quando usado com o
> MySQL... Ou não estou usando corretamente...
>
> Em alguns campos de algumas tabelas, preciso que grave NULO
> (NULL), mas, o método update() do componente TSQLQuery
> SEMPRE grava VAZIO (EM BRANCO)...
>
> Para resolver o problema, antes de chamar o método
> update(), atribuo NIL ao campo. Ex: ::oSQLQuery:campo:=NIL
>
> Porém, não acho que deveria ser assim, pois se não
> informei valor nenhum para gravar no campo, tem que gravar
> NULL...
No, no es exactamente así­. Cuando no se especifica un valor para el
campo, Xailer no debe grabar nada, porque puede tener algún valor por
defecto (DEFAULT) indicado en la BD, y hay que respetarlo.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Gravar campo NULL em tabela MySQL...

Publicado: Sab Ene 12, 2013 5:59 pm
por Sommus
Caro José Gimenez,
é EXATAMENTE isso que NíƒO está acontecendo... esses campos tem valores DEFAULT definidos no banco de dados, mas, o xailer está gravando em branco ao invés do valor default...
Att.
Reginaldo

Gravar campo NULL em tabela MySQL...

Publicado: Vie Ene 25, 2013 1:48 pm
por Sommus
Caro José F. Gimenez,
Alguma solução para esse problema?
Obrigado pela atenção,
Reginaldo
"Jose F. Gimenez" <jfgimenezAM]"@wanadoo.es> escreveu na notí­cia da
mensagem:50ee8e9d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Reginaldo,
>
>> Creio que há um pequeno bug no xailer em relação método
>> UPDATE() do componente TSQLQuery, quando usado com o
>> MySQL... Ou não estou usando corretamente...
>>
>> Em alguns campos de algumas tabelas, preciso que grave NULO
>> (NULL), mas, o método update() do componente TSQLQuery
>> SEMPRE grava VAZIO (EM BRANCO)...
>>
>> Para resolver o problema, antes de chamar o método
>> update(), atribuo NIL ao campo. Ex: ::oSQLQuery:campo:=NIL
>>
>> Porém, não acho que deveria ser assim, pois se não
>> informei valor nenhum para gravar no campo, tem que gravar
>> NULL...
>
> No, no es exactamente así­. Cuando no se especifica un valor para el campo,
> Xailer no debe grabar nada, porque puede tener algún valor por defecto
> (DEFAULT) indicado en la BD, y hay que respetarlo.
>
>
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info

Gravar campo NULL em tabela MySQL...

Publicado: Lun Mar 24, 2014 8:30 pm
por Sommus - Reginaldo
Alguma solução?
"Sommus - Reginaldo" escreveu na notí­cia da
mensagem:50ec688d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Senhores,
Creio que há um pequeno bug no xailer em relação método
UPDATE() do componente TSQLQuery, quando usado com o
MySQL... Ou não estou usando corretamente...
Em alguns campos de algumas tabelas, preciso que grave NULO
(NULL), mas, o método update() do componente TSQLQuery
SEMPRE grava VAZIO (EM BRANCO)...
Para resolver o problema, antes de chamar o método
update(), atribuo NIL ao campo. Ex: ::oSQLQuery:campo:=NIL
Porém, não acho que deveria ser assim, pois se não
informei valor nenhum para gravar no campo, tem que gravar
NULL...
Obrigado pela atenção,
Reginaldo

Gravar campo NULL em tabela MySQL...

Publicado: Lun Mar 24, 2014 9:09 pm
por Sommus - Reginaldo
Prezados desenvolvedores de Xailer,
Exemplo do problema:
TABELA:
CREATE TABLE IF NOT EXISTS clientes(
id integer AUTO_INCREMENT,
nome varchar(50) NOT NULL,
endereco varchar(100) NOT NULL,
telefone varchar(50),
numero_filhos integer,
valor_credito double NOT NULL DEFAULT 100,
ativo char NOT NULL DEFAULT '1',
CONSTRAINT cp_clientes PRIMARY KEY(id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
QUERY:
::oSQLQuery:cSelect:='SELECT * FROM clientes'
::oSQLQuery:lOpen:=.T.
NOVO REGISTRO: (Informando apenas os campos NOT NULL que não tem valor
DEFAULT)
::oSQLQuery:AddNew()
::oSQLQuery:nome:='REGINALDO'
::oSQLQuery:endereco:='AVENIDA BRASIL, 1500'
::oSQLQuery:Update()
Após o Update() o que foi gravado no banco:
id : 1 (AUTO INCREMENTO)
nome : 'REGINALDO'
endereco : 'AVENIDA BRASIL, 1500'
telefone : '' (Deveria ser NULL)
numero_filhos : 0 (Deveria ser NULL)
valor_credito : 0 (Deveria ser o valor DEFAULT 100)
ativo : '' (Deveria ser o valor DEFAULT '1')
Creio que isso é realmente um BUG, ou não?
Obrigado pela atenção,
Reginaldo
"Sommus - Reginaldo" escreveu na notí­cia da
mensagem:[email=5330878e@svctag-j7w3v3j....]5330878e@svctag-j7w3v3j....[/email]
Alguma solução?
"Sommus - Reginaldo" escreveu na notí­cia da
mensagem:50ec688d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Senhores,
Creio que há um pequeno bug no xailer em relação método
UPDATE() do componente TSQLQuery, quando usado com o
MySQL... Ou não estou usando corretamente...
Em alguns campos de algumas tabelas, preciso que grave NULO
(NULL), mas, o método update() do componente TSQLQuery
SEMPRE grava VAZIO (EM BRANCO)...
Para resolver o problema, antes de chamar o método
update(), atribuo NIL ao campo. Ex: ::oSQLQuery:campo:=NIL
Porém, não acho que deveria ser assim, pois se não
informei valor nenhum para gravar no campo, tem que gravar
NULL...
Obrigado pela atenção,
Reginaldo