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

📄 unitroleset.pas

📁 一套宾馆管理系统
💻 PAS
字号:
unit UnitRoleSet;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, ExtCtrls, StdCtrls, ADODB, DB;

type
  TfrmRoleSet = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    tbnAddRole: TToolButton;
    tbnRemoveRole: TToolButton;
    tbnExit: TToolButton;
    ToolButton6: TToolButton;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    Panel3: TPanel;
    Splitter2: TSplitter;
    Panel4: TPanel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    lvwSelect: TListView;
    lvwSeted: TListView;
    Label1: TLabel;
    edtuserName: TEdit;
    Label2: TLabel;
    EdtStatus: TEdit;
    ADOQuery: TADOQuery;
    ADOcmd: TADOCommand;
    procedure tbnExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure tbnAddRoleClick(Sender: TObject);
    procedure tbnRemoveRoleClick(Sender: TObject);
  private
    strCon:string;
    Username:string;
    procedure Setroles(id:string;username:string;roleid:string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmRoleSet: TfrmRoleSet;

implementation

uses UnitMain;

{$R *.dfm}
procedure TfrmRoleSet.Setroles(id:string;username:string;roleid:string);
 var
  smt:string;
begin
  smt:='execute managerRole '+id+','''+username+''','+roleid;
  adocmd.ConnectionString:=strCon;
  adocmd.CommandType:=cmdText;
  adocmd.CommandText:=smt;
  adocmd.Execute
end;
procedure TfrmRoleSet.tbnExitClick(Sender: TObject);
begin
 frmRoleSet.Close;
end;

procedure TfrmRoleSet.FormCreate(Sender: TObject);
begin
 frmMain.ReadINI;
 strCon:=frmMain.strCon;
end;

procedure TfrmRoleSet.FormShow(Sender: TObject);
 var
  xx:TListColumn;
  yy:TlistItem;
  Smt:string;

begin
  Username:=edtusername.Text;
  //set the items which will be selected
  xx:=lvwSelect.Columns.Add;
  xx.Caption:='可选角色';
  xx.Width:=lvwSelect.Width-5;
  Smt:='select roleid,rolename from rolelist';
  Smt:=Smt+' where roleid not in ' ;
  Smt:=Smt+' (select roleid';
  Smt:=Smt+' from UserRoles a left outer join Userlist b ';
  Smt:=Smt+' on a.userid=b.userid ' ;
  Smt:=Smt+' where b.username='''+Username+''')';
  adoquery.ConnectionString:=strCon;
  adoquery.SQL.Clear;
  adoquery.Close;
  adoquery.SQL.Add(Smt);
  adoquery.Open;
  lvwSelect.Items.Clear;
  while not adoquery.Eof do
   begin
    yy:=lvwSelect.Items.Add ;
    yy.Caption:=adoquery.Fields[1].AsString ;
    yy.SubItems.Add(adoquery.Fields[0].AsString);
    adoquery.Next;
   end;
   adoquery.Close;
  //set the Items which has been seted
  xx:=lvwseted.Columns.Add;
  xx.Caption:='已设置角色';
  xx.Width:=lvwseted.Width-5;
  Smt:='select roleid,rolename from rolelist';
  Smt:=Smt+' where roleid  in ' ;
  Smt:=Smt+' (select roleid';
  Smt:=Smt+' from UserRoles a left outer join Userlist b ';
  Smt:=Smt+' on a.userid=b.userid ' ;
  Smt:=Smt+' where b.username='''+Username+''')';
  adoquery.ConnectionString:=strCon;
  adoquery.SQL.Clear;
  adoquery.Close;
  adoquery.SQL.Add(Smt);
  adoquery.Open;
  lvwSeted.Items.Clear;
  while not adoquery.Eof do
   begin
    yy:=lvwSeted.Items.Add ;
    yy.Caption:=adoquery.Fields[1].AsString ;
    yy.SubItems.Add(adoquery.Fields[0].AsString);
    adoquery.Next;
   end;
   adoquery.Close;
end;

procedure TfrmRoleSet.tbnAddRoleClick(Sender: TObject);
 var
  i:integer;
  xx:TListItem;
begin
   for i:=lvwSelect.Items.Count Downto 1 do
   begin
     if lvwSelect.Items[i-1].Checked then
        begin
        xx:=lvwSeted.Items.Add;
        xx.Caption:=LvwSelect.Items[i-1].Caption ;
        xx.SubItems.Add(LvwSelect.Items[i-1].subitems[0]);
        frmRoleset.Setroles('1',username,LvwSelect.Items[i-1].subitems[0]);
        lvwSelect.Items[i-1].Delete;
        end;
   end;


end;

procedure TfrmRoleSet.tbnRemoveRoleClick(Sender: TObject);
var
 i:integer;
 xx:TListItem;
begin
for i:=lvwSeted.Items.Count Downto 1 do
   begin
     if lvwSeted.Items[i-1].Checked then
        begin
        xx:=lvwSelect.Items.Add;
        xx.Caption:=LvwSeted.Items[i-1].Caption ;
        xx.SubItems.Add(LvwSeted.Items[i-1].subitems[0]);
        frmRoleset.Setroles('2',username,LvwSeted.Items[i-1].subitems[0]);
        lvwSeted.Items[i-1].Delete;
        end;
   end;
end;

end.

⌨️ 快捷键说明

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