Fórum Ajuda em trocar senha #426182
15/10/2012
0
QueryTrocaSenha.Close;
QueryTrocaSenha.SQL.Clear;
QueryTrocaSenha.SQL.Add('SELECT * FROM USUARIOS WHERE SENHA_USUARIO = :PRM_SenhaUsuA');
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtSenhaAntiga.text;
QueryTrocaSenha.Open;
if (QueryTrocaSenha.RecordCount) = 1 then
begin
If (edNovaSenha.text = edtConfirmaNvSenha.Text) then
begin
QueryTrocaSenha.FieldByName('SENHA_USUARIO').Value := edtConfirmaNvSenha.Text;
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtConfirmaNvSenha.text;
QueryTrocaSenha.Post;
Self.Close;
MessageDlg('Senha Modificada com sucesso!',mtConfirmation,[mbOK],0);
end else
begin
MessageDlg('Verifique se os campos de nova senha conferem!',mtError,[mbOK],0);
edtConfirmaNvSenha.SetFocus;
end;
end else
begin
Application.MessageBox('Senha antiga não confere!', 'Alerta', mb_Ok+
mb_IconExclamation);
edtSenhaAntiga.SetFocus;
end;
end;Jonathan Romeiro
Curtir tópico
+ 0Posts
15/10/2012
Alisson Santos
poderia fazer dessa maneira. So lembrando que tem que colocar dentro de uma transação, agora se quiser criar uma store procedure para fazer isso fica ao critério.
QueryTrocaSenha.Close;
QueryTrocaSenha.SQL.Clear;
QueryTrocaSenha.SQL.Add('SELECT * FROM USUARIOS WHERE SENHA_USUARIO = :PRM_SenhaUsuA');
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtSenhaAntiga.text;
QueryTrocaSenha.Open;
if (QueryTrocaSenha.RecordCount) = 1 then
begin
If (edNovaSenha.text = edtConfirmaNvSenha.Text) then
begin
QueryTrocaSenha.sql.add('update usuarios set senha = ' + edtConfirmaNvSenha.Text);
QueryTrocaSenha.sql.add('where cd_usuário = ' + parametro do usuário);
Self.Close;
MessageDlg('Senha Modificada com sucesso!',mtConfirmation,[mbOK],0);
end else
begin
QueryTrocaSenha.Close;
QueryTrocaSenha.SQL.Clear;
QueryTrocaSenha.SQL.Add('SELECT * FROM USUARIOS WHERE SENHA_USUARIO = :PRM_SenhaUsuA');
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtSenhaAntiga.text;
QueryTrocaSenha.Open;
if (QueryTrocaSenha.RecordCount) = 1 then
begin
If (edNovaSenha.text = edtConfirmaNvSenha.Text) then
begin
QueryTrocaSenha.FieldByName('SENHA_USUARIO').Value := edtConfirmaNvSenha.Text;
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtConfirmaNvSenha.text;
QueryTrocaSenha.Post;
Self.Close;
MessageDlg('Senha Modificada com sucesso!',mtConfirmation,[mbOK],0);
end else
begin
MessageDlg('Verifique se os campos de nova senha conferem!',mtError,[mbOK],0);
edtConfirmaNvSenha.SetFocus;
end;
end else
begin
Application.MessageBox('Senha antiga não confere!', 'Alerta', mb_Ok+
mb_IconExclamation);
edtSenhaAntiga.SetFocus;
end;
end;Gostei + 0
15/10/2012
Jonathan Romeiro
Gostei + 0
15/10/2012
Gilvanio Gonçalves
onde tem a string PRM_SenhaUsuA , é uma variavel?ou campo na tabela?
se for uma variavel como vc declara ela? onde vc declara, qual o valor?
vc tres edits. edtisenhaantiga,editnovasenha, editconfirmanovasenha.
Aqui :
QueryTrocaSenha.ParamByName('PRM_SenhaUsuA').AsString := edtSenhaAntiga.text;vc diz no codigo que parametroname(prm_senhaUsuaA) é igual edtsenhaantiga
ou seja vc carrega a senha antiga do banco para este edit, como?
poste o codigo onde declara PRM_SenhaUsuA.
que vou ajustar o seu codigo,ok.
Gostei + 0
16/10/2012
Alisson Santos
Execute primeiramente o update e verifica se vai funcionar, caso não faz os acertos necessários e depois coloca no seu código.
Gostei + 0
19/10/2012
Jonathan Romeiro
Gostei + 0
19/10/2012
Jonathan Romeiro
Execute primeiramente o update e verifica se vai funcionar, caso não faz os acertos necessários e depois coloca no seu código.
Tentei no ibexpert e também não funcionou.
Gostei + 0
19/10/2012
Gilvanio Gonçalves
entendi, vc usa o parametro levando o valor para o edit no caso acredito a senha atual do usuario,
veja bém para segurança de troca de senha, vc não acha que a rotina deveria pegar o usuario logado! onde só ele
pode alterar a senha?
no seu exemplo não vi onde vc define qual usuario será a troca de senha, para ele digitar a senha atual, ser verificada se é valida, e ser for valida, digita nova senha, e confirma a nova senha, e grava.
o que me diz?
Gostei + 0
24/10/2012
Jonathan Romeiro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)