📄 bdperfil.~pas.svn-base
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -