📄 bdusuario.~pas.svn-base
字号:
unit BDUsuario;
interface
uses TDataConexion,ADODB,DB,SysUtils,Variants;
type
TUsuario = class
private
idusuario : integer;
nombre : string;
apellido: string;
perfil : string;
nameuser : string;
pass : string;
Query : TADOQuery;
StoredProc: TADOStoredProc;
public
constructor Create;
destructor Destroy;override;
procedure setIdUsuario(id:integer);
procedure setNombre(nombre:string);
procedure setApellido(apellido:string);
procedure setPerfil(cperfil:string);
procedure setNameUser(user:string);
procedure setPass(pass:string);
function getIdUsuario():integer;
function getNombre():string;
function getApellido():string;
function getPerfil():string;
function getNameUser():string;
function getPass():string;
function Insertar():integer;
function Eliminar():integer;
function Modificar():integer;
function Buscar():boolean;
function BuscarPerfil():boolean;
function Listar():boolean;
end;
implementation
constructor TUsuario.Create;
begin
inherited Create;
Query:=TADOQuery.Create(nil);
Query.Connection:=Database.Conexion;
StoredProc:=TADOStoredProc.Create(nil) ;
StoredProc.Connection:=Database.Conexion;
perfil := '';
nombre := '';
apellido := '';
nameuser := '';
pass := '';
idusuario := -1;
end;
destructor TUsuario.Destroy;
begin
StoredProc.Connection:=Nil;
StoredProc.Free;
inherited Destroy;
end;
procedure TUsuario.setIdUsuario(id:integer);
begin
self.idusuario := id;
end;
procedure TUsuario.setNombre(nombre:string);
begin
self.nombre :=nombre;
end;
procedure TUsuario.setApellido(apellido:string);
begin
self.apellido :=apellido;
end;
procedure TUsuario.setPerfil(cperfil:string);
begin
if (cperfil = 'Root') then
self.perfil := 'R'
else
self.perfil :='S';
end;
procedure TUsuario.setNameUser(user:string);
begin
self.nameuser := user;
end;
procedure TUsuario.setPass(pass:string);
begin
self.pass := pass;
end;
function TUsuario.getIdUsuario():integer;
begin
getIdUsuario := self.idusuario;
end;
function TUsuario.getNombre():string;
begin
getNombre := self.nombre;
end;
function TUsuario.getApellido():string;
begin
getApellido := self.apellido;
end;
function TUsuario.getPerfil():string;
begin
if self.perfil = 'R' then
getPerfil := 'Root'
else
getPerfil := 'Simple';
end;
function TUsuario.getNameUser():string;
begin
getNameUser := self.nameuser;
end;
function TUsuario.getPass():string;
begin
getPass := self.pass;
end;
function TUsuario.Insertar():integer;
var resultado:integer;
begin
StoredProc.ProcedureName:='alta_usuario';
StoredProc.Parameters.CreateParameter('@cnombre',ftString,pdInput,100,nombre);
StoredProc.Parameters.CreateParameter('@cperfil',ftString,pdInput,1,perfil);
StoredProc.Parameters.CreateParameter('@cnameuser',ftString,pdInput,100,nameuser);
StoredProc.Parameters.CreateParameter('@capellido',ftString,pdInput,100,apellido);
StoredProc.Parameters.CreateParameter('@cpass',ftString,pdInput,100,pass);
StoredProc.Parameters.CreateParameter('@retorno',ftInteger,pdInputOutput,0,0);
StoredProc.Prepared:=True;
StoredProc.ExecProc;
resultado:=StoredProc.Parameters.ParamValues['@retorno'];
StoredProc.Parameters.Clear;
Insertar:=resultado;
end;
function TUsuario.Eliminar():integer;
var resultado:integer;
begin
StoredProc.ProcedureName:='baja_usuario';
StoredProc.Parameters.CreateParameter('@cnameuser',ftString,pdInput,100,nameuser);
StoredProc.Parameters.CreateParameter('@retorno',ftInteger,pdInputOutput,0,0);
StoredProc.Prepared:=True;
StoredProc.ExecProc;
resultado:=StoredProc.Parameters.ParamValues['@retorno'];
StoredProc.Parameters.Clear;
Eliminar:=resultado;
end;
function TUsuario.Modificar():integer;
var resultado:integer;
begin
StoredProc.ProcedureName:='modificar_usuario';
StoredProc.Parameters.CreateParameter('@cnombre',ftString,pdInput,100,nombre);
StoredProc.Parameters.CreateParameter('@capellido',ftString,pdInput,100,apellido);
StoredProc.Parameters.CreateParameter('@cnameuser',ftString,pdInput,100,nameuser);
StoredProc.Parameters.CreateParameter('@cpass',ftString,pdInput,100,pass);
StoredProc.Parameters.CreateParameter('@cperfil',ftString,pdInput,1,perfil);
StoredProc.Parameters.CreateParameter('@retorno',ftInteger,pdInputOutput,0,0);
StoredProc.Prepared:=True;
StoredProc.ExecProc;
resultado:=StoredProc.Parameters.ParamValues['@retorno'];
StoredProc.Parameters.Clear;
Modificar:=resultado;
end;
function TUsuario.Buscar():boolean;
begin
Query.Close;
Query.SQL.Clear;
Query.Parameters.CreateParameter('nameuser',ftString,pdInput,100,nameuser);
Query.SQL.Add('select * from usuario where nameuser=:nameuser');
Query.Prepared:=True;
Query.Open;
if not Query.IsEmpty then
begin
self.nombre:=Query.FieldValues['nombre'];
self.apellido:=Query.FieldValues['apellido'];
self.perfil:=Query.FieldValues['perfil'];
Query.Parameters.Free;
Buscar:=True;
end
else
Buscar:=False;
end;
function TUsuario.BuscarPerfil():boolean;
begin
try
Query.SQL.Clear;
Query.Parameters.CreateParameter('name',ftString,pdInput,100,nameuser);
Query.Parameters.CreateParameter('clave',ftString,pdInput,50,pass);
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select perfil,idusuario from usuario where nameuser=:name and pass=:clave');
Query.Prepared:=True;
Query.Open;
try
if not Query.IsEmpty then
begin
perfil:=Query.FieldValues['perfil'];
IdUsuario:=Query.FieldValues['idusuario'];
Query.Parameters.Free;
BuscarPerfil:=True;
end
else
BuscarPerfil:=False;
except
on EVariantTypeCastError do
begin
Query.Parameters.Free;
BuscarPerfil:=False;
end;
end;
except
on Exception do
begin
Query.Parameters.Free;
BuscarPerfil:=False;
end;
end;
end;
function TUsuario.Listar():boolean;
begin
Query.Close;
Query.SQL.Clear;
Query.Parameters.Clear;
Query.SQL.Add('select nameuser as NombreUsuario from usuario where estado=''A''');
Query.Prepared:=True;
Query.Open;
if not Query.IsEmpty then
begin
Query.Parameters.Clear;
Database.DSource.DataSet := Query; //no debo liberar el query
Listar:=True;
end
else
begin
Query.Parameters.Clear;
Listar:=False;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -