Right.cpp
上传用户:tangpei45
上传日期:2013-07-14
资源大小:9104k
文件大小:2k
源码类别:

百货/超市行业

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Right.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TfmRightManage *fmRightManage;
  9. //---------------------------------------------------------------------------
  10. __fastcall TfmRightManage::TfmRightManage(TComponent* Owner)
  11.     : TForm(Owner)
  12. {
  13. }
  14. //---------------------------------------------------------------------------
  15. void __fastcall TfmRightManage::FormClose(TObject *Sender,
  16.       TCloseAction &Action)
  17. {
  18.   // 删除窗体并回收空间
  19.     Action = caFree;
  20. }
  21. //---------------------------------------------------------------------------
  22. void __fastcall TfmRightManage::Table1AfterScroll(TDataSet *DataSet)
  23. {
  24.     // 先去除所有的权限标志
  25.     for(int i=0; i<CheckListBox1->Items->Count; i++)
  26.         CheckListBox1->Checked[i] = false;
  27.     // 根据选择的用户设置权限标志
  28.     Query1->Close();
  29.     Query1->SQL->Clear();
  30.     Query1->SQL->Add("select 权限名称 from 权限清单 where 用户编号='"
  31.         + Table1->FieldByName("用户编号")->AsString + "'");
  32.     Query1->Open();
  33.     while(!Query1->Eof)
  34.     {
  35.         AnsiString szFunName = Query1->FieldByName("权限名称")->AsString;
  36.         CheckListBox1->Checked[CheckListBox1->Items->IndexOf(szFunName)] = true;
  37.         Query1->Next();
  38.     }
  39. }
  40. //---------------------------------------------------------------------------
  41. // 选择或去除功能权限,修改数据库权限清单表
  42. void __fastcall TfmRightManage::CheckListBox1ClickCheck(TObject *Sender)
  43. {
  44.     // 没有选择用户,退出函数
  45.     if(!Table1->FieldByName("用户编号")) return;
  46.     // 循环判断
  47.     Query1->Close();
  48.     Query1->SQL->Clear();
  49.     AnsiString sql;
  50.     // 不管没有选中,先全部删除,再根据选择的情况插入
  51.     sql = "delete from 权限清单 where 用户编号='" ;
  52.     sql += Table1->FieldByName("用户编号")->AsString + "'";
  53.     Query1->SQL->Add(sql);
  54.     for(int i=0; i<CheckListBox1->Items->Count; i++)
  55.     {
  56.         if(CheckListBox1->Checked[i])    // 选中权限,权限清单中插入一条
  57.         {
  58.             sql = "insert into 权限清单(用户编号,权限名称) values('" ;
  59.             sql += Table1->FieldByName("用户编号")->AsString + "','";
  60.             sql += CheckListBox1->Items->Strings[i] + "')";
  61.             Query1->SQL->Add(sql);
  62.         }
  63.     }
  64.     Query1->ExecSQL();
  65.     Query1->Close();
  66. }
  67. //---------------------------------------------------------------------------