Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 08-12-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
GRANT no funciona

Cita:
Empezado por ecfisa Ver Mensaje
Hola mRoman.

Muy probablemente sea la causa. La versión que uso es la 2.5 y el ejemplo lo hice en Delphi 7.

Saludos.
Ok...sabes que ecfisa, solicitanto tu apoyo y el de los demas foreros.....

este es el codigo q estoy tratando de que funcione:
Código Delphi [-]
unit Usuarios;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IBServices, StdCtrls, Buttons, Mask, ExtCtrls, DBCtrls, Grids,
  DBGrids, DB, IBCustomDataSet, IBQuery, sSkinProvider, IBSQL;

type
  TfrmUsuarios = class(TForm)
    ibUsuario: TIBSecurityService;
    btnCrear: TBitBtn;
    edUserName: TEdit;
    edFirstName: TEdit;
    edMiddleName: TEdit;
    edLastName: TEdit;
    mskPassword: TMaskEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    cbxInstitucion: TDBLookupComboBox;
    Label6: TLabel;
    dSoInstitucion: TDataSource;
    qryInstitucion: TIBQuery;
    Label7: TLabel;
    cbxCT: TDBLookupComboBox;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    dSoCT: TDataSource;
    qryCT: TIBQuery;
    Label8: TLabel;
    sSkinProvider1: TsSkinProvider;
    qryUsuarios: TIBQuery;
    dSoUsuarios: TDataSource;
    dsUsuario: TIBDataSet;
    cbxRoles: TComboBox;
    btnBorrar: TBitBtn;
    IBSQLRol: TIBSQL;
    procedure btnCrearClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure cbxCTExit(Sender: TObject);
    procedure Panel1Exit(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure btnBorrarClick(Sender: TObject);
    procedure Panel1Enter(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmUsuarios: TfrmUsuarios;

implementation
uses DataModulo;
{$R *.dfm}

{function ArchivosCarpeta(Carpeta, Mascara: String; IncluirPath, IncluirOcultos: Boolean): tStringList;
var DirInfo: TSearchRec;
    I, TiposDeArchivo: Integer;
begin
  Result := tStringList.Create;
  TiposDeArchivo := faAnyfile -faSysFile -faDirectory;
  if not IncluirOcultos then
      TiposDeArchivo := TiposDeArchivo -faHidden;
  I := FindFirst(IncludeTrailingPathDelimiter(Carpeta) + Mascara, TiposDeArchivo, DirInfo);
  while I = 0 do
  begin
    if (DirInfo.Name <> '.') and (DirInfo.Name <> '..') then
    begin
      if IncluirPath then
          Result.Add(IncludeTrailingPathDelimiter(Carpeta) + ExtractFileName(DirInfo.Name))
      else
          Result.Add(ExtractFileName(DirInfo.Name));
    end;
    I := FindNext(DirInfo);
  end;
  FindClose(DirInfo);
end;}

procedure TfrmUsuarios.btnCrearClick(Sender: TObject);
begin
    if btnCrear.Caption='Crear' then
    begin
        ibusuario.UserName:=edUserName.Text;
        ibUsuario.FirstName:=edFirstName.Text;
        ibUsuario.MiddleName:=edMiddleName.Text;
        ibUsuario.LastName:=edLastName.Text;
        ibUsuario.Password:=mskPassword.Text;
//        ibUsuario.Attach;
        ibUsuario.AddUser;
        ibUsuario.Detach;

        IBSQLRol.Close;
        IBSQLRol.SQL.Clear;
        IBSQLRol.SQL.Add('GRANT ' +cbxRoles.Text+ ' TO '+edUserName.Text);
        IBSQLRol.Prepare;
        IBSQLRol.ExecQuery;
        DataModule2.trsCasas.Commit;

        dsUsuario.Close;
        dsUsuario.ParamByName('ct_clave').AsInteger:=cbxCT.KeyValue;
        dsUsuario.ParamByName('inter_clave').AsInteger:=cbxInstitucion.KeyValue;
        dsUsuario.ParamByName('nombre_usuario').AsString:=edUserName.Text;
        dsUsuario.Open;
        dsUsuario.Append;
        dsUsuario.FieldByName('USUARIO_CT_CLAVE').AsInteger:=cbxCT.KeyValue;
        dsUsuario.FieldByName('USUARIO_NOMBRE').AsString:=edUserName.Text;
        dsUsuario.FieldByName('USUARIO_INTER_CLAVE').AsInteger:=cbxInstitucion.KeyValue;
        dsUsuario.FieldByName('USUARIO_NOMBRE_PILA').AsString:=edFirstName.Text;
        dsUsuario.FieldByName('USUARIO_APELLIDO_PATERNO').AsString:=edMiddleName.Text;
        dsUsuario.FieldByName('USUARIO_APELLIDO_MATERNO').AsString:=edLastName.Text;
        dsUsuario.Post;
        dsUsuario.ApplyUpdates;
        DataModule2.trsCasas.Commit;
    end Else
    begin
        ibusuario.UserName:=edUserName.Text;
        ibUsuario.FirstName:=edFirstName.Text;
        ibUsuario.MiddleName:=edMiddleName.Text;
        ibUsuario.LastName:=edLastName.Text;
        ibUsuario.Password:=mskPassword.Text;
        ibUsuario.Attach;
        ibUsuario.ModifyUser;
        ibUsuario.Detach;
    end
end;

procedure TfrmUsuarios.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=caFree;
end;

procedure TfrmUsuarios.FormShow(Sender: TObject);
var
   sr:TSearchRec;
begin
    ibUsuario.Active:=True;
    cbxRoles.Items.Clear;
    if FindFirst('c:\CISistema\Roles\*.ibg',faArchive, sr)=0 then
    begin
        repeat
            cbxRoles.Items.Add(copy(sr.Name,1,length(sr.Name)-4));
        until FindNext(sr)<>0;
        FindClose(sr);
    end;
//    cbxRoles.Items:=ArchivosCarpeta('C:\CISistema\Roles\','*.ibg',False,False);
end;

procedure TfrmUsuarios.cbxCTExit(Sender: TObject);
begin
    qryInstitucion.Close;
    qryInstitucion.ParamByName('CT_CLAVE').AsInteger:=cbxCT.KeyValue;
    qryInstitucion.Open;
    qryInstitucion.FetchAll;

end;

procedure TfrmUsuarios.Panel1Exit(Sender: TObject);
begin
    qryUsuarios.Close;
    qryUsuarios.ParamByName('INTER_CLAVE').AsInteger:=cbxInstitucion.KeyValue;
    qryUsuarios.ParamByName('CT_CLAVE').AsInteger:=cbxCT.KeyValue;
    qryUsuarios.Open;
end;

procedure TfrmUsuarios.DBGrid1CellClick(Column: TColumn);
begin
     btnCrear.Caption:='Modificar';
     btnBorrar.Enabled:=True;
     edUserName.Text:=qryUsuarios.fieldbyname('usuario_nombre').AsString;
end;

procedure TfrmUsuarios.btnBorrarClick(Sender: TObject);
begin
//        ibusuario.UserName:=edUserName.Text;
        ibUsuario.Attach;
        ibUsuario.DeleteUser;
        ibUsuario.Detach;
end;

procedure TfrmUsuarios.Panel1Enter(Sender: TObject);
begin
    edUserName.Text:='';
    edFirstName.Text:='';
    edMiddleName.Text:='';
    edLastName.Text:='';
    mskPassword.Text:='';
    cbxRoles.ItemIndex:=-1;
    DataModule2.trsCasas.Active:=False;
    DataModule2.trsCasas.StartTransaction;
    qryCT.Close;
    qryCT.Open;
    qryCT.FetchAll;
    btnBorrar.Enabled:=False;
end;

end.

Estoy usando los siguientes componentes:
TIBSecurityService.- Para crear los usuarios en el security2.fdb
TIBSQL.-Para asignarle el ROL a los usuarios (previamente creado desde el IBManager con sus privilegios).
TIBQuery.- Para obtener algunos registros de algunas tablas.
TIBDataSet.- Para registrar a los usuarios creados (en mi base de datos...no confundir con security2.fdb).

Ya desinstale el Firebird 1.5 e instale la 2.5, uso Delphi6 con Win 7 ultimate.

Saludos y espero me puedan auxiliar....gracias por su tiempo muchachos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
 



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
Llamada a Servicios Web desde Delphi 2006 (Delphi for Microsoft Win32) lacovera Internet 2 27-06-2007 16:54:29
ANN: AnyNET-Delphi: Herramienta para generar codigo fuente Delphi desde :NET mamcx Noticias 7 21-05-2007 02:12:36
Enviar correo desde fastnet desde delphi. uper Internet 1 20-02-2007 01:32:11
grant / revoke en oracle a nivel columna avmm2004 Oracle 5 14-10-2006 17:55:33
Problema Con Grant Fita SQL 2 03-04-2005 17:46:13


La franja horaria es GMT +2. Ahora son las 03:36:03.


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