开发技巧:您不能删除别人的数据!
开发技巧:您不能删除别人的数据!
解决方案:重写DAL层的Delete方法,调用存储过程删除记录。 删除业务逻辑: 1.检查数据拥有者是否当前用户 2.统计关键业务数据使用客户资料次数,>0不可删除! 3.添加删除日志 C# Code: public override bool Delete(string keyValue) { CommandHelper cmd = _Database.CreateSqlProc("usp_DeleteCustomer"); cmd.AddParam("@Key", DbType.String, keyValue); cmd.AddParam("@User", DbType.String, _Loginer.Account); int i = _Database.ExecuteCommand(cmd.Command); return i != 0; } //来源:C/S框架网(www.csframework.com) QQ:23404761 SQL Store Procedure: ALTER PROCEDURE usp_DeleteCustomer @Key VARCHAR(50),--客户编码 @User VARCHAR(20) --当前用户 AS BEGIN /****************************************************** 程序说明:删除客户资料 ------------------------------------------------------- SELECT * FROM dbo.dt_Customer SELECT * FROM NN_System.dbo.sys_LogOperation SELECT * FROM dbo.tb_QO ------------------------------------------------------- usp_DeleteCustomer 'M005211','admin' usp_DeleteCustomer 'M005811','maggie' *******************************************************/ DECLARE @MSG NVARCHAR(200) --检查数据拥有者是否当前用户 IF @User<>(SELECT ISNULL(CreatedBy,'') FROM dbo.dt_Customer WHERE CustomerCode=@Key) BEGIN SELECT @MSG='您不能删除别人的数据!'; RAISERROR (@MSG,16,1); RETURN; END; --统计关键业务数据使用次数 DECLARE @Count INT SELECT @Count= (SELECT COUNT(1) FROM tb_QO WHERE CustomerCode=@Key)+ (SELECT COUNT(1) FROM tb_PI WHERE CustomerCode=@Key)+ (SELECT COUNT(1) FROM tb_IV WHERE CustomerCode=@Key)+ (SELECT COUNT(1) FROM tb_PM WHERE CustomerCode=@Key) IF (@Count>0) BEGIN SELECT @MSG='您不能删除当前资料,有'+CAST(@Count AS VARCHAR)+'个业务功能在使用!'; RAISERROR (@MSG,16,1); RETURN; END; --删除数据 DELETE dt_Customer WHERE CustomerCode=@Key --添加删除日志 INSERT INTO NN_System.dbo.sys_LogOperation(OperationType,OperationTime,Account,MSG) SELECT 'Delete',GETDATE(),@User,'删除记录,PK:'+@Key END; //来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
数据字典开发灵活吗?能不能做到根据表结构定义自动生成? C#开发实例-数据字典作为参考数据在表格中显示的两种方案 开发技巧:您不能修改别人的数据! 开发技巧:弹出勾选窗体并返回数据 开发技巧:开发框架新增删除字段操作步骤详解 开发技巧:删除资料保存日志并检查数据是否能删除 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 软件开发与设计 - MIS-管理信息系统-XX省应急平台体系数据库 软件开发与设计 - MIS-管理信息系统(河北省计划生育药具管理服务平台数据库设计) 软件开发与设计 - MIS-管理信息系统(财务辅助预算管理系统 数据库设计) 软件开发与设计 - BBS-电子布告栏系统(XX论坛数据库设计) 软件开发与设计 - MIS-管理信息系统(江苏省无线电科学研究所有限公司数据库设计) 软件开发与设计 - 工作流引擎 - ESKO - AE(Automation Engine)版本12.3的数据库设计 软件开发与设计 - EMS-电子商城系统-[电子商务]BtoB电子商务包哥增强版数据库 软件开发与设计 - MIS-管理信息系统-[人才房产]惠州房产程序 v2.0数据库
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |