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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Estaba corrigiendo un fallo que había en un proyecto en el tema de dar de alta o modificar usuarios y me he encontrado con un problema. Usando el código que me sugirió ecfisa en su día resulta que en la base de datos del proyecto ese usuario no existe (al ejecutar el query no me devuelve nada) pero sí está dado de alta para otras bases de datos que tengo instaladas y me da error

¿Cómo puedo evitar este error?
Responder Con Cita
  #2  
Antiguo 12-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues no dando de alta otro repetido
Responder Con Cita
  #3  
Antiguo 14-09-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
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;
Responder Con Cita
Respuesta



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 21:52:58.


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