Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 669

•  TDictionary Custom Sort  5 800

•  Fast Watermark Sources  5 603

•  3D Designer  8 218

•  Sik Screen Capture  5 913

•  Patch Maker  6 388

•  Айболит (remote control)  6 378

•  ListBox Drag & Drop  5 237

•  Доска для игры Реверси  94 551

•  Графические эффекты  6 570

•  Рисование по маске  5 644

•  Перетаскивание изображений  4 759

•  Canvas Drawing  5 135

•  Рисование Луны  4 863

•  Поворот изображения  4 411

•  Рисование стержней  3 116

•  Paint on Shape  2 360

•  Генератор кроссвордов  3 228

•  Головоломка Paletto  2 551

•  Теорема Монжа об окружностях  3 328

•  Пазл Numbrix  2 200

•  Заборы и коммивояжеры  2 849

•  Игра HIP  1 820

•  Игра Go (Го)  1 740

•  Симулятор лифта  2 072

•  Программа укладки плитки  1 798

•  Генератор лабиринта  2 240

•  Проверка числового ввода  1 925

•  HEX View  2 225

•  Физический маятник  1 911

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Назначение прав пользователей на таблицу



Автор: Dracula

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Назначение прав пользователей на таблицу

Какое может быть описание? И так все понятно. Кто делает эти формы?

Зависимости: uses IBQuery,IBDataBase,SysUtils
Автор:       Dracula, dracula@krruda.dp.ua, Krivoy Rog
Copyright:   Dracula
Дата:        28 января 2003 г.
***************************************************** }

unit IBRights;
interface

uses IBQuery, IBDataBase, SysUtils;

type
  TIBUserRights = record
    sel: Boolean;
    ins: Boolean;
    upd: Boolean;
    del: Boolean;
    exe: Boolean;
  end;

function GetUserRights(UserName, Relation: string; IBDb: TIBDataBase):
  TIBUserRights;
var
  Rights: TIBUserRights;

implementation

function GetUserRights(UserName, Relation: string; IBDb: TIBDataBase):
  TIBUserRights;
var
  Qr: TIBQuery;
  Tr: TIBTransaction;
begin
  if Assigned(IBDb) then
  begin
    Tr := TIBTransaction.Create(nil);
    try
      Tr.DefaultDatabase := IBDb;
      Qr := TIBQuery.Create(nil);
      Qr.Database := IBDb;
      Tr.StartTransaction;
      Qr.Close;
      Qr.Sql.Clear;
      Qr.Sql.Add('select RDB$USER,RDB$PRIVILEGE,RDB$RELATION_NAME ' +
        'from RDB$USER_PRIVILEGES ' +
        'where upper(RDB$USER)=:AUser ' +
        'and upper(RDB$RELATION_NAME)=:ARelation');
      Qr.Prepare;
      Qr.Params.ParamValues['AUser'] := AnsiUpperCase(UserName);
      Qr.Params.ParamValues['ARelation'] := AnsiUpperCase(Relation);
      Qr.Open;
      while not Qr.eof do
      begin
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'S' then
          Rights.sel := true
        else
          Rights.sel := false;
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'I' then
          Rights.ins := true
        else
          Rights.ins := false;
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'U' then
          Rights.upd := true
        else
          Rights.upd := false;
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'D' then
          Rights.del := true
        else
          Rights.del := false;
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'X' then
          Rights.exe := true
        else
          Rights.exe := false;
        if Copy(Trim(Qr.FieldByName('RDB$PRIVILEGE').AsString), 1, 1) = 'R' then
          //Rights.ref:=true else Rights.ref:=false;
        begin
          Rights.sel := true;
          Rights.ins := true;
          Rights.upd := true;
          Rights.del := true;
          Rights.exe := true;
        end;
        Qr.Next;
      end;
      Qr.Close;
      Tr.Commit;
      Qr.Free;
    finally
      Tr.Free;
    end;
  end;
  Result := Rights;
end;

end.

Пример использования:

uses....., IBRights;
......
var
  rights: TIBUserRights;

implementation
.....
begin
  ...
  rights := GetUserRights(DllLogin, NameTable, IBDataBase);
  .....
end;




Похожие по теме исходники

Phone Base (телефонный справочник)

Repertoire (телефонный справочник)

Телефонный справочник




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте