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

📄 unit_quanxian.pas

📁 招投标软件代码,很有应用价值,请大家参考下哦,不明白的地方给我留言
💻 PAS
字号:
unit Unit_quanxian;

interface

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

type
  TFrm_QuanXian = class(TForm)
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Label2: TLabel;
    Label3: TLabel;
    Com_UserId: TComboBox;
    ListView1: TListView;
    ListView2: TListView;
    ADOQuery: TADOQuery;
    procedure FormShow(Sender: TObject);
    procedure Reflash;         //刷新记录
    procedure Com_UserIdChange(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    sUserId :string;
  end;

var
  Frm_QuanXian: TFrm_QuanXian;

implementation

uses
  DataModule,u_yonghu;

{$R *.dfm}

procedure TFrm_QuanXian.Reflash;
var
  i       :Integer;
  Alistitem:TlistItem;
begin
  with adoquery do
  begin
    close;
    sql.Text:='select menu_name from bid_menu where layer=1 and APPLY=1 and MENU_id not in'
             +' (select a.menu_id from bid_userrole a,bid_user b where a.user_id=b.user_id and b.Login_name='''
             +trim(com_userid.Text)+''') ';
    open;
    listview1.Clear;
    for i:=0 to recordcount-1 do
    begin
      alistitem:=listview1.Items.Add;
      alistitem.Caption:=fieldbyname('menu_name').AsString;
      next;
    end;
    close;
    sql.clear;
    sql.text:='select a.menu_name from bid_userrole b,bid_menu a,bid_user c where c.user_id=b.user_ID and  b.menu_id=a.menu_id '
            +' AND C.Login_name='''+trim(com_userid.text)+''' and A.layer=1 and APPLY=1 ';
    open;
    listview2.clear;
    for i:=0 to recordcount-1 do
    begin
      alistitem:=listview2.Items.Add;
      alistitem.Caption:=fieldbyname('menu_name').AsString;
      next;
    end;
  end;
end;

procedure TFrm_QuanXian.FormShow(Sender: TObject);
var
  i :Integer;
begin
  with adoquery do
  begin
    close;
    connection:=datamodule1.ADOMainConn;
    sql.Clear;
    sql.Text:='select Login_name from bid_user order by Login_name ';
    open;
    com_userid.Clear;
    for i:=0 to recordcount-1 do
    begin
       com_userid.Items.add(fieldbyname('Login_name').AsString);
       next;
    end;
    close;
  end;
  com_userid.ItemIndex:=com_userid.Items.IndexOf(suserid);
  reflash;
end;

procedure TFrm_QuanXian.Com_UserIdChange(Sender: TObject);
begin
  reflash;
end;

procedure TFrm_QuanXian.SpeedButton1Click(Sender: TObject);
begin
  if listview1.Selected<>nil then
  begin
    with adoquery do
    begin
      close;
      datamodule1.ADOMainConn.BeginTrans;
      try
        sql.Clear;
        adoquery.sql.Text:='insert into bid_userrole select a.user_id,'
                +' b.menu_id from bid_user a, bid_menu b where b.layer=1 and APPLY=1 and b.menu_name='''
                +trim(listview1.selected.caption)+''' and a.login_name='''+trim(com_userid.text)+'''';
        ExecSQL;
        datamodule1.ADOMainConn.CommitTrans;
      except
        datamodule1.ADOMainConn.RollbackTrans;
      end;
    end;
    Reflash;
  end;
end;

procedure TFrm_QuanXian.SpeedButton2Click(Sender: TObject);
var
  Ado_Id  :Tadoquery;
  menu_id :string;
begin
  if listview2.Selected<>nil then
  begin
    ado_id:=tadoquery.Create(nil);
    try
      ado_id.Connection:=datamodule1.ADOMainConn;
      ado_id.SQL.Text:=' select MENU_id from bid_menu where menu_name='''+trim(listview2.Selected.Caption)+'''';
      ado_id.Open;
      menu_id:=ado_id.fieldbyname('MENU_id').AsString;
    finally
      FreeAndNil(ado_id);
    end;
    with adoquery do
    begin
      close;
      datamodule1.ADOMainConn.BeginTrans;
      try
        sql.Clear;
        adoquery.sql.Text:='delete from bid_userrole where menu_id='
                +trim(menu_id);
        ExecSQL;
        datamodule1.ADOMainConn.CommitTrans;
      except
        datamodule1.ADOMainConn.RollbackTrans;
      end;
    end;
    Reflash;
  end;
end;

end.

⌨️ 快捷键说明

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