权限系统发现BUG,请按提示升级
权限系统发现BUG,请按提示升级
系统管理模块权限系统发现BUG:
1. 新增角色保存后,再点修改按钮, 修改数据后点保存,系统抛出异常, 原因是tb_MyRole表预设是isid作为主键,在新增后isid值为空,因此点修改无法取出当前数据.
2. 删除角色和菜单没有加Dataset条件,因此在多业务帐套环境下会删除所有相同的编号, 单个帐套不存在问题.
3. tb_MyMenu,tb_MyRole,tb_MyGroup三张表增加记录主键RowID, 新增记录时分配GUID32字符, 解决Bug1
SQL脚本,添加RowID字段:
bllRole.cs文件修改:
bllMenu.cs文件 AddOrUpdateMenu方法:
bllGroup.cs文件修改:
frmGroupManagement.cs文件修改DoDelete方法:
*** 更新后仍有问题请QQ联系 ***
VIP用户请下载三张表的ORM Model文件
扫一扫加作者微信
系统管理模块权限系统发现BUG:
1. 新增角色保存后,再点修改按钮, 修改数据后点保存,系统抛出异常, 原因是tb_MyRole表预设是isid作为主键,在新增后isid值为空,因此点修改无法取出当前数据.
2. 删除角色和菜单没有加Dataset条件,因此在多业务帐套环境下会删除所有相同的编号, 单个帐套不存在问题.
3. tb_MyMenu,tb_MyRole,tb_MyGroup三张表增加记录主键RowID, 新增记录时分配GUID32字符, 解决Bug1
SQL脚本,添加RowID字段:
SQL Code:
--添加字段, 手工给RowID设索引
ALTER TABLE tb_MyGroup ADD RowID VARCHAR(32)
ALTER TABLE tb_MyRole ADD RowID VARCHAR(32)
ALTER TABLE tb_MyMenu ADD RowID VARCHAR(32)
--更新预设数据
UPDATE dbo.tb_MyGroup SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyRole SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyMenu SET RowID=REPLACE(NEWID(),'-','')
//来源:C/S框架网(www.csframework.com) QQ:1980854898
--添加字段, 手工给RowID设索引
ALTER TABLE tb_MyGroup ADD RowID VARCHAR(32)
ALTER TABLE tb_MyRole ADD RowID VARCHAR(32)
ALTER TABLE tb_MyMenu ADD RowID VARCHAR(32)
--更新预设数据
UPDATE dbo.tb_MyGroup SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyRole SET RowID=REPLACE(NEWID(),'-','')
UPDATE dbo.tb_MyMenu SET RowID=REPLACE(NEWID(),'-','')
//来源:C/S框架网(www.csframework.com) QQ:1980854898
bllRole.cs文件修改:
C# Code:
/// <summary>
/// 创建当前角色用于绑定文本框的数据源
/// </summary>
/// <param name="sourceRow"></param>
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyRole.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyRole.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 创建当前角色用于绑定文本框的数据源
/// </summary>
/// <param name="sourceRow"></param>
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyRole.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyRole.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
bllMenu.cs文件 AddOrUpdateMenu方法:
C# Code:
//导入菜单
DataRow append = menuData.NewRow();
append[tb_MyMenu.RowID] = Globals.NewRowID();//GUID32,去掉"-"分隔符
//来源:C/S框架网(www.csframework.com) QQ:1980854898
//导入菜单
DataRow append = menuData.NewRow();
append[tb_MyMenu.RowID] = Globals.NewRowID();//GUID32,去掉"-"分隔符
//来源:C/S框架网(www.csframework.com) QQ:1980854898
bllGroup.cs文件修改:
C# Code:
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyGroup.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyGroup.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
public override void CreateDataBinder(DataRow sourceRow)
{
base.CreateDataBinder(sourceRow);
//新增记录,给帐套编号预设值
if (_DataBinder.Rows[0].RowState == DataRowState.Added)
{
_DataBinder.Rows[0][tb_MyGroup.RowID] = Globals.NewRowID();
_DataBinder.Rows[0][tb_MyGroup.DataSetID] = Loginer.CurrentUser.DataSetID;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
frmGroupManagement.cs文件修改DoDelete方法:
*** 更新后仍有问题请QQ联系 ***
VIP用户请下载三张表的ORM Model文件
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网