Ver Mensaje Individual
  #4  
Antiguo 19-01-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Para verificar la existencia de un usuario, también se puede consultar a Firebird directamente:
Código PHP:
bool userExists(TIBQuery *QY, const AnsiStringuserName)
{
  
QY->Close();
  
QY->SQL->Clear();
  
QY->SQL->Add("SELECT DISTINCT RDB$USER");
  
QY->SQL->Add("FROM RDB$USER_PRIVILEGES");
  
QY->SQL->Add("WHERE RDB$USER = :USER");
  
QY->ParamByName("USER")->AsString userName;
  
QY->Open();
  
bool found = ! QY->IsEmpty();
  
QY->Close();
  return 
found;
}


// ejemplo del uso
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if ( 
userExists(IBQuery1"sysdba") ) 
     ...

Un ejemplo del uso de TIBSecurityService:
Código PHP:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  
TIBSecurityService *ss IBSecurityService1;

  
ss->SecurityAction ActionDisplayUser;
  
ss->LoginPrompt    false;
  
ss->Params->Add("user_name=sysdba");
  
ss->Params->Add("password=masterkey");
  
ss->Active true;
  
__try {
    
ss->DisplayUser(ss->UserName);
    
Memo1->Clear();
    
Memo1->Lines->Add("Name: "+ss->UserInfo[0]->UserName);
    
Memo1->Lines->Add("First Name: "+ss->UserInfo[0]->FirstName);
    
Memo1->Lines->Add("Middle Name: "+ss->UserInfo[0]->MiddleName);
    
Memo1->Lines->Add("Last Name: "+ss->UserInfo[0]->LastName);
    
Memo1->Lines->Add("GroupID: "IntToStr(ss->UserInfo[0]->GroupID));
    
Memo1->Lines->Add("UserID: "+IntToStr(ss->UserInfo[0]->UserID));
  }
  catch (const 
Exceptione) {
    
ShowMessage(e.Message);
  }

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita