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

📄 userfun.pas

📁 三層源碼,DELPHI寫的三層源碼,三層源碼,
💻 PAS
字号:
unit userfun;

interface

uses SysUtils,Classes,adodb;
//-------------基本功能
function create_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function modify_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function delete_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;

function check_passwd_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function modify_passwd_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
//-------------查询
procedure Query_userinfo(params:WideString;out querys:tadoquery);

function check_authority_user(funid,authority:string):boolean;

implementation
uses shareunit;
//帐号管理  1-5
function check_authority_user(funid,authority:string):boolean;
begin
result:=true;
end;

//*******  新建
function create_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='帐号已经存在!';
try
querys:=tadoquery.create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.SQL.clear;
querys.sql.add('select userid from system where userid=:ax');
querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
querys.Open;
if querys.recordcount=0 then
   try
   adoconn.Connected:=true;
   adoconn.BeginTrans;
   
   querys.Close;
   querys.SQL.clear;
   querys.SQL.Add('insert into system(userid,idpass,authority)');
   querys.sql.add('values(:u1,:u2,:u3)');
   querys.Parameters.ParamByName('u1').value:=getparamitem(params,'tuid');
   querys.Parameters.ParamByName('u2').value:=getparamitem(params,'tpwd');
   querys.Parameters.ParamByName('u3').value:=authority_blank;
   querys.ExecSQL;

   adoconn.CommitTrans;
   result:=true;
   except
   adoconn.RollbackTrans;
   outstr:='帐号建立时更新错误!';
   end;

finally
querys.close;
freeandnil(querys);
end;
end;


//*******  权限修改
function modify_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='帐号不存在!';
querys:=tadoquery.Create(nil);
try
querys.Connection:=adoconn;

querys.Close;
querys.SQL.clear;
querys.sql.add('select userid from system where userid=:ax');
querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
querys.Open;
if querys.recordcount=1 then
  try
  adoconn.Connected:=true;
  adoconn.BeginTrans;

  querys.Close;
  querys.SQL.clear;
  querys.SQL.Add('update system set authority=:u1 where userid=:us');
  querys.Parameters.ParamByName('us').value:=getparamitem(params,'tuid');
  querys.Parameters.ParamByName('u1').value:=getparamitem(params,'authority');
  querys.ExecSQL;

  adoconn.CommitTrans;
  result:=true;
  except
  adoconn.RollbackTrans;
  outstr:='帐号修改时更新错误!';
  end;

finally
querys.close;
freeandnil(querys);
end;
end;

//*******  删除帐号
function delete_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='帐号不存在!';
try
querys:=tadoquery.Create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.SQL.clear;
querys.sql.add('select userid from system where userid=:ax');
querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
querys.Open;
if querys.recordcount=1 then
   try
   adoconn.Connected:=true;
   adoconn.BeginTrans;

   querys.Close;
   querys.SQL.clear;
   querys.SQL.Add('delete from system where userid=:u1 and super=0');
   querys.Parameters.ParamByName('u1').value:=getparamitem(params,'tuid');
   querys.ExecSQL;

   adoconn.CommitTrans;
   result:=true;
   except
   adoconn.RollbackTrans;
   outstr:='帐号删除时更新错误!';
   end;

finally
querys.close;
freeandnil(querys);
end;
end;


//*******  密码修改
function modify_passwd_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='帐号不存在!';
try
querys:=tadoquery.Create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.SQL.clear;
querys.SQL.Add('select userid from system where userid=:a1 and idpass=:a2');
querys.Parameters.ParamByName('a1').value:=getparamitem(params,'tuid');
querys.parameters.parambyname('a2').value:=getparamitem(params,'oldpwd');
querys.open;
if querys.recordcount=1 then
   try
   adoconn.Connected:=true;
   adoconn.BeginTrans;
   
   querys.Close;
   querys.SQL.clear;
   querys.SQL.Add('update system set idpass=:pass2 where userid=:us and idpass=:pass1');
   querys.Parameters.ParamByName('us').value:=getparamitem(params,'tuid');
   querys.parameters.parambyname('pass1').value:=getparamitem(params,'oldpwd');
   querys.parameters.parambyname('pass2').value:=getparamitem(params,'newpwd');
   querys.ExecSQL;

   adoconn.CommitTrans;
   result:=true;
   except
   adoconn.RollbackTrans;
   outstr:='修改密码时更新错误!';
   end;
   
finally
querys.close;
freeandnil(querys);
end;

end;

//*******  验证用户
function check_passwd_user(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='帐号不存在或密码错误!';
try
querys:=tadoquery.Create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.SQL.clear;
querys.SQL.Add('select authority,super from system where userid=:a1 and idpass=:a2');
querys.Parameters.ParamByName('a1').value:=getparamitem(params,'tuid');
querys.parameters.parambyname('a2').value:=getparamitem(params,'tpwd');
querys.open;
if querys.recordcount=1 then
   begin
   outstr:=querys.fieldbyname('authority').asstring;
   if querys['super']=1 then
      begin
      outstr[1]:='1';
      outstr[2]:='1';
      outstr[3]:='1';
      end else begin
      outstr[1]:='0';
      outstr[2]:='0';
      outstr[3]:='0';
      end;
   result:=true;
   end;

finally
querys.close;
freeandnil(querys);
end;

end;

//*******  查询
procedure Query_userinfo(params:WideString;out querys:tadoquery);
var funid:integer;
begin
funid:=strtointdef(getparamitem(params,'funid'),public_unkonw);
case funid of
 public_list:
    begin
    querys.Close;
    querys.SQL.clear;
    querys.SQL.Add('select userid from system');
    querys.open;
    end;

 public_infor:
    begin
    querys.Close;
    querys.SQL.clear;
    querys.SQL.Add('select * from system where userid=:ax');
    querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
    querys.open;
    end;

 end;

end;


end.

⌨️ 快捷键说明

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