consulta no cadastro

09/03/2016

1

Oi pessoal. Eu quero colocar na procedure de cadastro, uma consulta para ver se a pessoa já esta no sistema. Só que eu esqueci como faz uma consulta.
alguem pode me dar uma ajuda me passar o codigo de consulta para o sistema antes de cadastrar, consultar se a pessoa já esta cadatrada?
Muito obrigado e aguardo ajuda..
Se queserem me passar por email també agardeço. luizccleto@gmail.com...
Responder

Post mais votado

09/03/2016

Veja um exemplo que eu uso no cadastro de usuário


Button Cadastrar

BEGIN
LOGIN_CR:='';
SENHA_CR:='';
SQL_SCRYP:='';

//LOGIN_CR:=Criptografar(ED_LOGIN.Text); // Função
//SENHA_CR:=Criptografar(ED_SENHA.Text);//Função


Monto um select
SQL_SCRYP:='SELECT * FROM SV_ACESSO WHERE LOGIN_CRYP='
+''''+LOGIN_CR+''''+
' AND FILIAL='
+''''+CBX_FILIAL.TEXT+''''+';';

// Verifico meu select
DM.Q_LOGIN.CLOSE;
DM.Q_LOGIN.SQL.CLEAR;
DM.Q_LOGIN.SQL.Text:=SQL_SCRYP;
DM.Q_LOGIN.OPEN;


// Verifico se o registro é maior que zero o que indica que o usuário já existe
if DM.Q_LOGIN.RecordCount>0 then
BEGIN
ShowMessage('Usuário ['+ED_LOGIN.Text+'], já existe na Filial ['+CBX_FILIAL.Text+']');
end
else
begin // Como não existe realizo meu insert
script_insert:=
'INSERT INTO SV_ACESSO (NOME,LOGIN_CRYP,SENHA_CRYP,FILIAL,EMAIL,ACESSO_TOTAL)VALUES ('
+''''+ED_NOME.Text+''''
+','+''''+LOGIN_CR+''''+
','+
''''+SENHA_CR+''''+
','+
''''+CBX_FILIAL.Text+''''+
','+
''''+ED_EMAIL.Text+''''+
','+''''+ACESSO_TOTAL+''''+

');';

TRY
DM.Q_LOGIN.CLOSE;
DM.Q_LOGIN.SQL.Text:=script_insert;
DM.Q_LOGIN.ExecSQL;
Fim do meu insert

Verifico novamente para ter certeza que foi cadastrado
DM.Q_LOGIN.close;
DM.Q_LOGIN.SQL.Text:=SQL_SCRYP;
DM.Q_LOGIN.OPEN;
begin
if DM.Q_LOGIN.RecordCount>0 then
BEGIN
ShowMessage('Usuário ['+ED_LOGIN.Text+'], Cadastrado na Filial ['+CBX_FILIAL.Text+'], Código ['+IntToStr(DM.Q_LOGIN.FieldByName('ID').AsInteger)+']');
END
ELSE
BEGIN
ShowMessage('Falha ao tentar gravar Usuário ['+ED_LOGIN.Text+'], na Filial ['+CBX_FILIAL.Text+']');
END;
end;
EXCEPT
exit;
END;

O código é apenas para dar uma luz no que você precisa
Responder

Mais Posts

Outra opção é utilizar o Locate.

if  IBTableCliente.Locate('Cli_cpf', Edit1.Text,  [])  then 
begin 
 ShowMessage('Cliente com este CPF já esta cadastrado!'); 
 Abort;
end 
Responder

09/03/2016

P2

Bem verdade,


Outra opção é utilizar o Locate.

if  IBTableCliente.Locate('Cli_cpf', Edit1.Text,  [])  then 
begin 
 ShowMessage('Cliente com este CPF já esta cadastrado!'); 
 Abort;
end 




Caso tenha o campo cpf ou cnpj o mais indicado é usar o lacate,
Uso a rotina acima por ser uma tela de login e podem ter usuário com o mesmo nome.
Responder