`
1000copy
  • 浏览: 74402 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Best practise : 封装存储过程 (续)

 
阅读更多


 

还是以上面提到的存储过程delete_dept为例。delete_dept实在是太过粗糙,缺乏基本的错误检查。现在用户需要在删除前给它加入一个检查,和现实的代码更接近一些。

检查为:“如果dept内有对应的person,那么提示用户不能删除”,代码如下:

 

CREATE PROCEDURE [dbo].[delete_dept]        

  @id int

AS

    if exists (select * from person where dept_id = @id)

  return -1

delete  from dept where id=@id

RETURN 0

恩。是的,变化发生了。那么这个变化到底对我们的代码会有多大的影响呢?

在这样的情况下,如果采用LocalFunction方法,那么我只要修改下函数void delete_dept(int id)就行。

 

void delete_dept(int id)

{

  int r = RunProc("delete_dept",id); 

If(r==-1)MessageBox.Show("不能删除");

}

如果是采用RunProc方法,那么所有调用的地方都要加入这个用户提示代码:

      If(r==-1)MessageBox.Show("不能删除");

那就是差别。

任何需求的修改,最好只要改一处代码;另外一种情况是,需求的修改会导致到处修改代码。他们的差别在代码不多的情况下,也许差别不大,但是想象我们的代码工程是很大的。像这样的存储过程代码是非常基础的,代码是很多地方都要调用的,如果因为缺乏封装,导致到处修改代码是非常的不值得的。

0
1
分享到:
评论

相关推荐

    SAP best practise part 3

    SAP best practise part 3

    SAP best practise part001.

    SAP Best Practise part1

    sap best practise 50097738_SAP_BP_Baseline_Package_v1-V2.603

    sap best practise 50097738_SAP_BP_Baseline_Package_v1-V2.603

    db2 xml best practise

    - **定义索引**:了解如何创建有效的XML索引,以加速查询过程。 - **在XML查询中使用索引**:掌握如何在XQuery和SQL/XML查询中利用索引,提高查询效率。 ### 更新XML数据的策略 - **简单XML更新**:提供基本的更新...

    j2ee best practise

    《J2EE最佳实践》是Java企业级应用开发的重要指南,涵盖了从设计、开发到部署的一系列关键知识点。本文将深入探讨这些最佳实践,旨在帮助开发者优化J2EE应用程序的性能、可维护性和扩展性。 1. **模块化设计**:在...

    HBase in Practise: 性能、监控和问题排查

    HBase在不同版本(1.x, 2.x, 3.0)中针对不同类型的硬件(以IO为例,HDD/SATA-SSD/PCIe-SSD/Cloud)和场景(single/batch, get/scan)做了(即将做)各种不同的优化,这些优化都有哪些?如何针对自己的生产业务和...

    Oracle 10g HA Best Practise

    本篇文章基于《Oracle 10g HA Best Practise》一书的关键信息,旨在深入探讨Oracle 10g数据库在高可用性(High Availability, HA)方面的最佳实践。书中介绍了如何通过Oracle 10g的高级功能来减少计划维护操作期间的...

    practise:proteas的编程实践

    在本实践项目“practise:proteas的编程实践”中,我们将深入探讨Proteas的编程技术,尤其侧重于使用C语言进行开发。Proteas是一个可能涉及生物信息学、模拟或数据分析的系统,因为通常在这些领域中会用到特定的编程...

    poc_practise:样品回购

    在IT行业中,"poc_practise:样品回购"这个标题和描述可能指的是一个安全漏洞验证项目,其中“POC”通常代表Proof of Concept(概念验证),是安全研究人员用来证明某个漏洞确实存在的一个小演示或代码片段。...

    Fujitsu ASM best Practise

    本文档详细介绍如何通过结合使用Oracle Database 10g中的自动存储管理(ASM)功能与富士通ETERNUS存储系统来构建高效且易于管理的数据库环境。该文档主要涵盖了以下几个方面: #### 1. 引言 - **背景介绍**:自动...

    dojo toturial with design best practise

    《dojo toturial with design best practise》是一本深入探讨Dojo框架并结合设计模式实践的书籍。这本书旨在帮助开发者不仅掌握Dojo库的基本用法,还能理解如何在实际项目中运用设计模式,以提高代码质量和可维护性...

    jQuery-practise:回购https的练习

    HTTPS是HTTP协议的安全版本,通过SSL/TLS协议加密通信,确保数据在传输过程中不被窃取或篡改。在使用jQuery进行HTTPS通信时,我们需要关注跨域安全、证书验证和HTTPOnly cookies等问题。跨域请求需遵循同源策略,但...

    leetcode下载-best-practise:golang各种组件的最佳实践,持续更新

    4.数据存储 mysql github.com/go-sql-driver/mysql github.com/go-xorm/xorm redis github.com/garyburd/redigo/redis influxDB github.com/influxdata/influxdb/client/v2 5.消息中间件 rabbitMQ github....

    JS-Practise:JavaScript范例

    这个"JS-Practise:JavaScript范例"项目,显然是一份用于学习和实践JavaScript编程技巧的资源集合。下面我们将深入探讨JavaScript的关键知识点,并结合实际例子来帮助理解。 1. **基础语法** JavaScript的基础语法...

    Api_Practise:C#_Api_Practise

    在本项目"Api_Practise:C#_Api_Practise"中,主要涉及的是使用C#编程语言进行API(应用程序接口)的实践操作。API是软件系统之间交互的桥梁,它允许不同的应用共享数据和服务,从而提升开发效率和系统的互操作性。...

    cpp20-practise:该存储库将存储我从Ivor Horton和Peter Van Weert的Beginning C ++ 20了解到的有关C ++ 20标准的所有信息。

    1. **模块化(Modules)**:C++20引入了模块化,它允许程序员将代码组织成独立的单元,提高了编译速度和代码的封装性。模块接口文件(.cppm)定义了对外暴露的实体,而模块实现文件(.cpp)则包含实际的实现。 2. *...

    arti_practise:建筑学

    "arti_practise:建筑学"这个主题涵盖了使用计算机辅助设计(CAD),建筑信息模型(BIM),以及相关的软件工具来创建、管理和协作建筑项目。下面将详细讨论这一领域的关键知识点。 1. **计算机辅助设计(CAD)**:...

    DSA--PRACTISE:此存储库包含我每天都会在各种平台(例如GFG,Leetcode,Strivers的SDE Sheet)上练习的DSA问题

    标题中的“DSA--PRACTISE”指的是数据结构与算法的实践,这通常涉及到计算机科学的基础领域,特别是软件开发。在这个存储库中,作者显然热衷于通过解决不同平台上的问题来提升自己的数据结构和算法技能,如GFG...

    Code-Practise:提高编码技巧

    "Code-Practise: 提高编码技巧"的主题旨在帮助开发者通过实践来提升自己的编程能力。下面,我们将深入探讨一些关键的Python编程知识点,以及如何通过实践来优化和提升这些技能。 1. **代码规范**:遵循PEP 8,这是...

    HPSM 9.4 Best Practise

    - **数据库设置**: HPSM依赖于外部数据库来存储数据,因此需要正确配置数据库连接。 - **安全设置**: 为了确保系统的安全性,应遵循最佳实践进行必要的安全设置,例如限制网络访问、使用强密码策略等。 #### 三、...

Global site tag (gtag.js) - Google Analytics