Fórum Valor nulo em campo data (Delphi) #488265
08/08/2014
0
Estou precisando de uma ajuda.
Eu quero atribuir valor nulo ao campo do tipo data pelo Delphi.
Estou usando Firebird como banco de dados e o componente IBDataSet e já tentei o comando Database.TableDATA.clear; e não deu certo.
Agradeço quem puder me ajudar!
Marcos Roberto
Curtir tópico
+ 0Post mais votado
13/08/2014
Tenta na trigger:
create trigger zerar_data for soc_socios before insert or update as begin if (new.DATA_FILIACAO = '30.12.1899') then new.DATA_FILIACAO = null; end
Renato Rubinho
Gostei + 2
Mais Posts
12/08/2014
Marcos Roberto
E como Debugo??
Abraço.
Gostei + 0
13/08/2014
Renato Rubinho
Database.TableSoc_SociosDATA_FILIACAO.Clear;
Quando estiver em execução, ao parar nessa linha, pressione F7 para ver se entra nas funções da classe.
Última chance, rsrs:
Database.TableSoc_SociosDATA_FILIACAO.SetData(nil);
Se não funcionar, seta como zero quando for nulo e, nos comandos enviados ao banco, grava como nulo quando o valor for zero.
Abraççç
Gostei + 0
13/08/2014
Marcos Saffran
O componente é o IBDATASET.
Bom dia Marcos,
verifique a propriedade "Read Only" da tabela e do campo, que deve estar como false.
Gostei + 0
13/08/2014
Marcos Roberto
você sugeriu em fazer uma trigger né??
Então eu atribuo zero para o campo data, o que faz com que ele fique com a data de 30/12/1899, até ai blza... mas quando vou salvar ele me retorna esse erro:
conversion error from string "0" At trigger 'ZERAR_DATA' line:6, col:3
Criei minha trigger assim. (Será que fiz káka:??)
create trigger zerar_data for soc_socios
before insert or update
as
begin
if (new.DATA_FILIACAO = 0) then
new.DATA_FILIACAO = null;
end
Abraço!
Gostei + 0
13/08/2014
Marcos Roberto
não existe a propriedade "Read Only" do componente IBDataSet , essa propriedade só aparece quando clico no campo, ai sim esta lá, e ela esta como False.
Teria que ter a propriedade "Read Only" no componente IBDataSet???
Abraço.
Gostei + 0
14/08/2014
Marcos Roberto
cara deu certo com a trigger... ueepaaa :)
Te agradeço de verdade, você tentou me ajudar mesmo... muito agradecido.
Cara se você me permitir tenho algumas duvidas que surgiram recorrente a este problema do tópico, e como você foi um cara prestativo e a pessoa que mais me deu alternativas , então sua opinião para mim é muito importante!! (se vc puder responder eu agradeço.)
Só vou terminar esse projeto que estou fazendo e pretendo mudar para outra versão do Delphi, você me sugeriria qual?
Você usa qual versão?
Fiz alguns testes com algumas versões e depois de instalar o Delphi mudou o posicionamento dos menus das janelas do Windows para a esquerda, tipo assim:
[img]http://arquivo.devmedia.com.br/forum/imagem/362394-20140814-160248.jpg[/img]
Isso ocorreu com você?
Renato te agradeço mais uma vez!
um grande Abraço.
Gostei + 0
15/08/2014
Renato Rubinho
Sua instalação deve ter mudado algum registro do windows. Olha esse link que achei: DevMedia
Tenta gerar um projetinho com isso e veja se consegue inverter.
Pesquise por MFT_RIGHTJUSTIFY e MFT_LEFTJUSTIFY na net e ve se descobre como corrigir no windows.
Eu uso atualmente o Delphi 7. Já usei muito o 5 e tenho um projetinho no XE.
Sinceramente não sei quais os recursos e evolução das novas versões. Veja se já não existe algum tópico sobre isso que alguém que conheça as novas versões poderá te sugerir algo melhor que eu.
Abraççç,
Renato
Gostei + 0
18/08/2014
Marcos Roberto
Cara desculpa pela demora em responder pois estava viajando.
Deu certo sua dica para arrumar a direção do menu...
Simplesmente muito obrigado!
um grande abraço.
Gostei + 0
25/07/2020
Rogerio Bras
Tenta na trigger:
create trigger zerar_data for soc_socios before insert or update as begin if (new.DATA_FILIACAO = '30.12.1899') then new.DATA_FILIACAO = null; end
Nota 10. Funcionou 100% aqui comigo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)