Fórum Gravar campo NULL no banco #485187

11/07/2014

0

Bom dia Galera,

Estou precisando de uma ajuda não sou muito bom no delphi.

Estou usando o componente Query dentro dele faço o comando sql para inserção.

INSERT INTO [tbPais]
([Cod_pais]
,[Cod_moeda]
,[Nome_pais]
,[DDI]
,[Apelido_pais]
,[Cod_bacen])
VALUES
(:Cod_pais,
:Cod_moeda,
:Nome_pais,
:DDI,
:Apelido_pais,
:Cod_bacen)


Ai passo os parâmetros para insert no delphi

QueryInsert.ParamByName('Cod_pais').AsString := ECodPais.Text;
QueryInsert.ParamByName('Cod_moeda').AsString := DBMoeda.KeyValue;
QueryInsert.ParamByName('Nome_pais').AsString := ENomePais.Text;
QueryInsert.ParamByName('DDI').AsString := ECodDDI.Text;
QueryInsert.ParamByName('Apelido_pais').AsString := EApelidoPais.Text;
QueryInsert.ParamByName('Cod_bacen').AsString := ECodBacen.Text;


Se o usuário esquecer de informar o DDI quero gravar NULL no banco, apenas conseguir gravar em branco.

Att
João Antonio
João Françozo

João Françozo

Responder

Post mais votado

11/07/2014

Ou, dependendo do banco você pode criar uma trigger no BEFORE INSERT que checa se o DDI é "branco", você coloca nulo.

Ronaldo Lanhellas

Ronaldo Lanhellas
Responder

Gostei + 1

Mais Posts

11/07/2014

Fabiano Carvalho

Qual banco de dados?
Voce pode definiir a regra diretamente no banco de dados.
Responder

Gostei + 0

11/07/2014

Joel Rodrigues

Teste o seguinte:
if ECodDDI.Text <> '' then
QueryInsert.ParamByName('DDI').AsString := ECodDDI.Text
else
QueryInsert.ParamByName('DDI').Value = null;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar