通用权限管理系统组件 (gpm -ag凯发k8国际
ag凯发k8国际
收集整理的这篇文章主要介绍了
通用权限管理系统组件 (gpm - general permissions manager) 给信息管理系统加一个初始化的功能,调用存储过程...
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
系统初始化的运行效果如下:
参数表是为了防止反复被初始化的,防止关键数据丢失。
其实很多人都提过希望有系统初始化的功能,最近稍微空一些,就给系统增加了一个初始化的功能,给大家参考一下。
首先写了一个存储过程如下,把系统中的表都清理干净,存储过程的名字叫“systeminitialize”
view code -- =============================================-- author: <吉日嘎拉>
-- create date: <2012.01.18>
-- description: <初始化系统>
-- =============================================
alter procedure [dbo].[systeminitialize]
as
begin
set nocount on;
-- 检查是否已经初始化过系统?只允许初始化一次
declare @worked int;
select @worked = worked from base_parameter where id = 10000000 and parametercontent = 'none';
if @worked > 0
begin
return;
end
-- 名片管理
truncate table base_businesscard;
-- 评论表
truncate table base_comment;
-- 联络单明细表
truncate table base_contactdetails;
-- 联络单主表
truncate table base_contact;
-- 系统异常表
truncate table base_exception;
-- 文件表
truncate table base_file;
-- 文件夹表
truncate table base_folder;
-- 数据字典主表(资源)
-- base_items
-- 工作流示例—请假单表
truncate table base_leave;
-- 系统日志表
truncate table base_log;
-- 消息表
truncate table base_message;
-- 模块(菜单)表 通用权限以外的全删除
delete from base_module where allowdelete = 1;
-- 组织机构、部门表 删除的测试数据
delete from base_organize where isinnerorganize = 1;
-- 新闻表
truncate table base_news;
-- 系统参数配置表
delete from base_parameter where (id <> 10000000);
-- 操作权限存储表
truncate table base_permission;
-- 数据集权限存储表
truncate table base_permissionscope;
-- 操作权限项定义 删除通用权限意外的全部权限定义
delete from base_permissionitem where allowdelete = 1;
-- 项目表
truncate table base_project;
-- 员工(职员)表组织关系表
truncate table base_stafforganize;
-- 员工(职员)表
truncate table base_staff;
-- 序列产生器表
truncate table base_sequence;
-- 表字段结构定义说明
truncate table base_tablecolumns;
-- 用户送货地址表
truncate table base_useraddress;
-- 用户帐户组织关系表
truncate table base_userorganize;
-- 用户帐户角色关系表
truncate table base_userrole;
-- 用户帐户表
delete from base_user where username != 'administrator';
-- 系统角色表
delete from base_role where code != 'administrators';
-- 工作日志表
truncate table base_workreport;
-- 设置已初始化标志,防止反复初始化系统
update base_parameter set worked = 1, parametercontent = 'processed' where id = 10000000;
end
在通用权限管理系统组件中调用存储过程的方法如下
view code private void btninitialize_click(object sender, eventargs e){
// 默认按钮放在第2个按钮上,尽量防止误操作。
if (messagebox.show(appmessage.msg3000, appmessage.msg0000, messageboxbuttons.okcancel, messageboxicon.question, messageboxdefaultbutton.button2) == dialogresult.ok)
{
// 按系统的配置信息动态获取数据库连接
using (idbhelper dbhelper = dbhelperfactory.gethelper(basesysteminfo.usercenterdbtype))
{
try
{
// 打开数据库连接
dbhelper.open(basesysteminfo.usercenterdbconnection);
// 执行存储过程
int returnvalue = dbhelper.executenonquery(commandtype.storedprocedure, "systeminitialize");
// 成功的提示信息
messagebox.show(appmessage.msg3010, appmessage.msg0000, messageboxbuttons.ok, messageboxicon.information);
this.btninitialize.enabled = false;
}
catch (exception ex)
{
// 在本地文件中记录系统异常信息
this.writeexception(ex);
throw ex;
}
finally
{
// 关闭数据库库连接
dbhelper.close();
}
}
}
}
判断当前用户是否已经登录,当前用户是否超级管理员,当前连接的数据库类型等的参考代码如下
view code public override void setcontrolstate(){
// 已经登录了系统,并且是系统管理员才可以做这个服务器端的配置,第一次用时无法配置系统了
/*
if (!basesysteminfo.logoned || !this.userinfo.isadministrator)
{
this.tcconfirm.tabpages.remove(tpserver);
}
*/
// 有并发数设置时,不允许重复登录。
if (this.nuponlinelimit.value > 0)
{
this.chkcheckonline.checked = false;
this.chkcheckonline.enabled = false;
}
else
{
this.chkcheckonline.enabled = true;
}
// 只有系统管理员才可以初始化系统,并却是sqlserver数据库下才运行
this.btninitialize.visible = basesysteminfo.logoned && basesysteminfo.userinfo.isadministrator;
if (this.btninitialize.visible)
{
if (basesysteminfo.usercenterdbtype == databasetype.sqlserver)
{
string parameter = dotnetservice.instance.parameterservice.getparameter(userinfo, "system", "system", "initialize");
if (!string.isnullorempty(parameter) && parameter.equals("none"))
{
this.btninitialize.enabled = true;
}
}
}
}
给大家分享一下比较强大的完整的数据库访问组件,经过了7-8年的考研,运行稳定,编码风格良好,完整源码下载地址如下:
/files/jirigala/dotnet.utilities.rar
源码效果图如下:
转载于:https://www.cnblogs.com/jirigala/archive/2012/01/18/2325578.html
总结
以上是ag凯发k8国际为你收集整理的通用权限管理系统组件 (gpm - general permissions manager) 给信息管理系统加一个初始化的功能,调用存储过程...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 题目:大地的秘密
- 下一篇: 机器学习相关——svd分解