bdperfil.pas.svn-base

来自「example delphi with database」· SVN-BASE 代码 · 共 92 行

SVN-BASE
92
字号
unit BDPerfil;

interface
uses TDataConexion,ADODB,DB,SysUtils,Variants;
type
    matriz = array[1..20,1..20,1..20] of string;
    TPerfil = class
    private
    perfil : string;
    idmodulo :integer;
    Query : TADOQuery;
    modulos : matriz;
    public
    constructor create;
    destructor destroy;override;
    procedure setPerfil(perfil:string);
    procedure setIdModulo(idmodulo:integer);
    function getPerfil():string;
    function getIdModulo():integer;
    function getModuloPerfil():matriz;
    end;
implementation

constructor TPerfil.create;
begin
    inherited create;
    perfil:='';
    idmodulo:=0;
    Query:=Database.Query;
    Query.Connection:=Database.Conexion;
end;

destructor TPerfil.destroy;
begin
     inherited destroy;
end;

procedure TPerfil.setPerfil(perfil:string);
begin
       self.perfil:=perfil;
end;
procedure TPerfil.setIdModulo(idmodulo:integer);
begin
    self.idmodulo:=idmodulo;
end;
function TPerfil.getPerfil:string;
begin
    getPerfil:=self.perfil;
end;

function TPerfil.getIdModulo:integer;
begin
      getIdModulo:=self.idmodulo;
end;

function TPerfil.getModuloPerfil:matriz;
var nombre,codigo:string;
begin
     try
      Query.Parameters.CreateParameter('codperfil',ftString,pdInput,1,perfil);
      Query.Close;
      Query.SQL.Clear;
      Query.SQL.Add('select distinct modulo.nombre,modulo.codigo from modulo,perfilmodulo where perfil=:codperfil');
      Query.Prepared:=True;
      Query.Open;
      try
         while not Query.Eof do
         begin
           nombre:=Query.FieldValues['nombre'];
           codigo:=Query.FieldValues['codigo'];
//           modulos[nombre][codigo]:=1;       necesito vector asociativo
         end;
        Query.Parameters.Free;
        getModuloPerfil:=modulos;
      except
        on EVariantTypeCastError do
        begin
            Query.Parameters.Free;
      //      getModuloPerfil:=0;
        end;
      end;
    except
      on Exception do
      begin
        Query.Parameters.Free;
    //    getModuloPerfil:=0;
      end;
    end;

end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?