SQL inserir valores se não exite
Bom dia pessoal.
Estou com uma dificuldade, com faso para inserir valores num banco Firebird, porém preciso verificar se a empresa é cadastrada na tabela, se for, não inserir,e se for não for cadastrada inserir.
Abraços e obrigado desde já.
Estou com uma dificuldade, com faso para inserir valores num banco Firebird, porém preciso verificar se a empresa é cadastrada na tabela, se for, não inserir,e se for não for cadastrada inserir.
Abraços e obrigado desde já.
Aldo Lentz
Curtidas 0
Respostas
Luiz Vichiatto
26/02/2018
"e se for não for cadastrada inserir" ???????<br />
Fiquei um pouco confuso no que está tentando fazer, o que você quer é fazer um insert em uma tabela EMPRESA se a empresa que está tentando inserir não existir, estou na linha da sua questão?<br />
<br />
A empresa que está querendo inserir vem de uma outra tabela ou sistema de entrada (tela de um sistema ou importação de arquivo ?)<br />
<br />
<br />
<br />
Fiquei um pouco confuso no que está tentando fazer, o que você quer é fazer um insert em uma tabela EMPRESA se a empresa que está tentando inserir não existir, estou na linha da sua questão?<br />
<br />
A empresa que está querendo inserir vem de uma outra tabela ou sistema de entrada (tela de um sistema ou importação de arquivo ?)<br />
<br />
<br />
<br />
GOSTEI 0
Aldo Lentz
26/02/2018
Luiz Vichiatto, desculpa, pelo erro na escrita.
Existe uma tabela chamada de Cadastro, que contém as empresas cadastradas. Contudo, quando eu saio de um evento ele executa um insert na tabala, porém se esta empresa já esta cadastrada não há necessidade de se executar o comando novament. Eu preciso executar este insert somente se a empresa não estiver cadastrada.
Existe uma tabela chamada de Cadastro, que contém as empresas cadastradas. Contudo, quando eu saio de um evento ele executa um insert na tabala, porém se esta empresa já esta cadastrada não há necessidade de se executar o comando novament. Eu preciso executar este insert somente se a empresa não estiver cadastrada.
GOSTEI 0
Luiz Santos
26/02/2018
Aldo, da uma olhada nesses links abaixo.
Se entendi, acho que é isso que vc precisa.
https://www.devmedia.com.br/forum/update-or-insert-com-incremento-no-firebird/444165
https://firebirdsql.org/refdocs/langrefupd21-update-or-insert.html
Grande abraço
Se entendi, acho que é isso que vc precisa.
https://www.devmedia.com.br/forum/update-or-insert-com-incremento-no-firebird/444165
https://firebirdsql.org/refdocs/langrefupd21-update-or-insert.html
Grande abraço
GOSTEI 0
Aldo Lentz
26/02/2018
Luiz Fernando
Vlw pela atenção.
Vlw pela atenção.
GOSTEI 0
Erich
26/02/2018
Olá Aldo, para fazer essa "tal" verificação você tem que estar ciente do seguinte: toda vez que você insere um registro o seu id no banco de dados não é o mesmo.. então você precisa de um campo no banco de dados para comparar se a empresa existe certo? que tal C.N.P.J?(pode ser qualquer um outro que tenha ai) sugeri C.N.PJ. porque cada empresa possui a sua. Você pode seguir esses passos:
o usuário vai digitar o C.N.P.J. em um edit;
no OnExit desse campo ou no botão confirmar voce pode fazer um metodo que retorna se existe o cnpj ou nao, mais ou menos assim:
function ExisteEmpresa (Cnpj: String) : boolean
begin
result := false;
//voce pode usar um cursor ou uma query para buscar os dados no banco de dados\\\\
cursor.sql.add('select cnpj from Cadastro where cnpj =:cnpj');
cursor.parambyname('Cnpj').AsString := Cnpj;
cursor.open
result := cursor.fieldbyname('Cnpj').AsString <> ' ';
end;
No evento é so fazer a verificao
if not(ExisteEmpresa(edtCnpj.txt)) then //
CadastraEmpresa;
esse foi meu entendimento amigo! lembrando que no exemplo acima usei o campo cnpj(sem mascara) como parametro, mas voce pode escolher outro...
o usuário vai digitar o C.N.P.J. em um edit;
no OnExit desse campo ou no botão confirmar voce pode fazer um metodo que retorna se existe o cnpj ou nao, mais ou menos assim:
function ExisteEmpresa (Cnpj: String) : boolean
begin
result := false;
//voce pode usar um cursor ou uma query para buscar os dados no banco de dados\\\\
cursor.sql.add('select cnpj from Cadastro where cnpj =:cnpj');
cursor.parambyname('Cnpj').AsString := Cnpj;
cursor.open
result := cursor.fieldbyname('Cnpj').AsString <> ' ';
end;
No evento é so fazer a verificao
if not(ExisteEmpresa(edtCnpj.txt)) then //
CadastraEmpresa;
esse foi meu entendimento amigo! lembrando que no exemplo acima usei o campo cnpj(sem mascara) como parametro, mas voce pode escolher outro...
GOSTEI 0