arturF Novato
Registrado: Quinta-Feira, 31 de Março de 2022 Mensagens: 1
|
Enviada: Qui Mar 31, 2022 3:55 pm Assunto: Tela de login com dois Parametros |
|
|
Olá pessoa! estou tentando fazer uma tela de login puxando dois parâmetros que são o id e o email pelo mesmo CombBox. so que so estou conseguindo fazer por apenas um parâmetro, alguem poderia me ajudar ?
segue o meu codigo e o select q estou utilizando
Codigo:
Código: | procedure TfrmLogin.BtnAcessarClick(Sender: TObject);
var
senha: string;
begin
IBQ_Usuario.Close;
IBQ_Usuario.SQL.Clear;
IBQ_Usuario.SQL.Text := SQL_Usuario_Sistem.Text;
IBQ_Usuario.ParamByName('pUsuario') := cb_Usuario.Text;
IBQ_Usuario.Open;
if not IBQ_Usuario.FieldByName('codigo').isnull then
begin
senha := frmPrinp.Cript('D', IBQ_Usuario.FieldByName('SENHA').Value);
end
else
begin
ShowMessage('Usário / senha não confere!');
cb_Usuario.SetFocus;
exit;
end;
if senha = Edit_Senha.Text then
begin
if UPPERCase(IBQ_Usuario.FieldByName('codigo').AsString) = UPPERCase(cb_Usuario.Text) then
begin
frmPrinp.usuarioAtivo := cb_Usuario.Text;
frmPrinp.id_usuario := IBQ_Usuario.FieldByName('codigo').AsString;
if (IBQ_Usuario.FieldByName('CODVENDEDOR').AsString = '') or
(IBQ_Usuario.FieldByName('CODVENDEDOR').IsNull) then
begin
ShowMessage
('Não existe um vendedor para este usuário. Cadastre um vendedor para este usuário no Select e tente novamente!');
exit;
end
else
begin
frmPrinp.vendedorAtivo := IBQ_Usuario.FieldByName('CODVENDEDOR').AsString;
frmPrinp.IBQ_Mult.Close;
frmPrinp.IBQ_Mult.SQL.Clear;
frmPrinp.IBQ_Mult.SQL.Text := SQL_DescVendedor.Text;
frmPrinp.IBQ_Mult.ParamByName('pCodVendedor').AsString := frmPrinp.vendedorAtivo;
frmPrinp.IBQ_Mult.Open;
frmPrinp.gDescontoVendedor := frmPrinp.IBQ_Mult.FieldByName('DESCONTO').AsFloat;
end;
frmPrinp.lbl_BoasVindas.Caption := 'Olá' + ' ' + frmPrinp.usuarioAtivo
+ ' bem vindo ao sistema. Para trocar de usuário pressione F9';
Close;
end
else
begin
ShowMessage('Usuário / senha não confere!');
cb_Usuario.SetFocus;
exit;
end;
end
else
begin
ShowMessage('Usário / senha não confere!');
cb_Usuario.SetFocus;
end;
end;
procedure TfrmLogin.BtnSairClick(Sender: TObject);
begin
Application.Terminate;
end;
segue o select:
function SQL_Usuario_Sistem: TStringlist;
begin
Result := TStringlist.Create;
with Result do
begin
Add('select ');
Add('ID as codigo, ');
Add('first_name as usuario, ');
Add('password as senha, ');
Add('''1'' as CODVENDEDOR, ');
Add('email ');
Add('from users ');
Add('where ');
Add('id = :pUsuario ');
add('or ');
Add('(upper(email) = upper(:pemail))');
if gDebugando then
Result.SaveToFile(gCaminhoQuerys + 'SQL_Usuario_Sist.SQLem.sql');
end;
end;
|
Quem puder me ajudar fico muito grato. |
|