开发技巧:删除资料保存日志并检查数据是否能删除
开发技巧:删除资料保存日志并检查数据是否能删除
下面是删除客户资料的脚本: 删除资料存储过程 SQL Script: ALTER PROCEDURE [dbo].[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 IF @@ROWCOUNT=1 BEGIN --添加删除日志 INSERT INTO NN_System.dbo.sys_LogOperation(OperationType,OperationTime,Account,MSG) SELECT 'Delete',GETDATE(),@User,'删除《客户》记录,PK:'+@Key END; END; //来源:C/S框架网(www.csframework.com) QQ:23404761 日志表 SQL Script: CREATE TABLE [dbo].[sys_LogOperation] ( [isid] [int] NOT NULL IDENTITY(1, 1), [OperationType] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL, [OperationTime] [datetime] NULL, [Account] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL, [FormName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [FormCaption] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [MenuName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [MSG] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[sys_LogOperation] ADD CONSTRAINT [PK_sys_LogOperation] PRIMARY KEY CLUSTERED ([isid]) ON [PRIMARY] GO CREATE NONCLUSTERED INDEX [IX_sys_LogOperation] ON [dbo].[sys_LogOperation] ([Account]) ON [PRIMARY] GO CREATE NONCLUSTERED INDEX [IX_sys_LogOperation_1] ON [dbo].[sys_LogOperation] ([OperationType]) ON [PRIMARY] GO //来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
客户要求开发框架能自动生成数据窗体及log日志表 C# GridView 资料行数据检查使用的方法(ValidateRow与InvalidRowException) 开发框架处理保存图片数据 开发技巧:您不能修改别人的数据! 开发技巧:您不能删除别人的数据! 开发技巧:弹出勾选窗体并返回数据 开发技巧:开发框架新增删除字段操作步骤详解 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 删除用户前逻辑判断,检查当前用户是否关联业务数据或创建业务数据 开发框架旗舰版保存数据并重新刷新CurrentBusiness前端缓存数据 SQL存储过程:删除基础资料前逻辑判断,检查是否有关联业务数据 原创:C/S架构快速开发框架通用可配置的数据修改日志解决方案 开发框架旗舰版:数据库日志DBLog类实现ILogUserOperate接口设计 C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据 新增功能:保存前本地缓存数据,资料暂存解决方案 - Winform开发框架
其它资料:
什么是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内容管理系统 | |