Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: Jan 2007
Posts: 749
Poder: 12
Angel.Matilla Va por buen camino
¿Existe un usuario en FB?

¿Cómo puedo comprobar si un usuario está creado en FB? Para crearlo, modificarlo o borrarlo no tengo problema pero no sé como hacer para comprob ar su existencia. He visto en la ayuda de BCB 6 el método DisplayUser pero con este código:
Código:
AnsiString Nombre, cAux;
SecurityService->DisplayUser(Nombre);
cAux = SecurityService->UserInfo[0]->UserName;
al ejecutarse DisplayUSer me da este error:
Cita:
invalid service handle
Evidentemente Nombre es donde está guardado el UserName que estoy buscando ¿Alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 16-01-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: Jan 2007
Posts: 749
Poder: 12
Angel.Matilla Va por buen camino

¡No he dicho nada! Se me había olvidado activar SecurityService.
Responder Con Cita
  #3  
Antiguo 19-01-2018
mRoman mRoman is offline
Miembro
 
Registrado: Nov 2003
Posts: 346
Poder: 15
mRoman Va por buen camino
Deberias agregar el codigo completo, para los demas que andamos buscando como hacer eso q tu ya hiciste

Saludos
__________________
Miguel Román
Responder Con Cita
  #4  
Antiguo 19-01-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.083
Poder: 29
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 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
forma mas eficiente de saber si existe un usuario en firebird? erickperez6 Firebird e Interbase 0 18-06-2014 05:29:09
IBX ¿como asignar usuario,base de datos, nombre de usuario por codigo? JXJ Firebird e Interbase 4 09-05-2010 18:45:24
SQL Server dice usuario ya existe Alexander Conexión con bases de datos 2 09-07-2007 23:34:30
Duda sobre sistema ulti-usuario y mono-usuario simon Varios 1 07-06-2004 18:35:44


La franja horaria es GMT +2. Ahora son las 01:55:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi