⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bdusuario.~pas.svn-base

📁 example delphi with database
💻 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 + -