Cita:
Empezado por Casimiro Notevi
Pues no dando de alta otro repetido
|
¡Muy gracioso!
Tenía un error de base en el manejo de FB: Yo suponía que los usuarios se daban de alta en el motor a nivel de cada una de las bases de datos y no a nivel del motor en conjunto. Al final lo he resuelto de la manera más tonta:
Código:
Query->Close();
Query->SQL->Text = "SELECT DISTINCT RDB$USER FROM RDB$USER_PRIVILEGES WHERE RDB$USER = :Nombre";
Query->ParamByName("Nombre")->AsString = Nombre->Text;
Query->Open();
SecurityService->UserName = Nombre->Text;
SecurityService->Password = Clave->Text;
SecurityService->Active = true;
if (Query->IsEmpty())
{
try
{
SecurityService->AddUser();
}
catch(Exception &Exc)
{
SecurityService->Active = true;
SecurityService->ModifyUser();
}
}
else
SecurityService->ModifyUser();
SecurityService->Active = false;