All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
入门知识:动态网页PHP编程中数组的基础知识_php资料_编程技术
草根的进化,PHP语言发展简史_php资料_编程技术
ASP.NET网页发送和返馈运行机制_[Asp.Net教程]
动态网页制作技巧PHP:详细彻底学习Smarty_php资料_编程技术
打开delphi对话框组件(TOpenDialog)实例
mssql安装提示已经安装信息,修改注册表_mssql学习_编程技术
HTML语言剖析(十三)其他标记_[Html教程]_0
Apache小技巧五则_php资料_编程技术
学习Asp.Net经常会用到的函数集_.net资料_编程技术
HTML语言剖析(一)Html简介_[Html教程]
Reading number is top 10 pictures
Embarrassing things comic collection2
The beginning and end
西游日记3
Perfect small Laurie2
The woman fight much more than men
Born After 90 Beijing sports university campus flower photos4
什么叫国家
This is heaven to some path
Embarrassing things comic collection1
Average female college students2
Download software ranking
尖东毒玫瑰A
电脑知识及技巧大合集
变速齿轮3.26
SP4 for SQL2000
Tram sex maniac 2 (H) rar bag8
Sora aoi 120 minutes
Tram sex maniac 2 (H) rar bag19
Unix video tutorial10
徐若瑄成名作“魔鬼天使”
C++教程第四版
aaa published in(发表于) 2013/12/15 8:52:18 Edit(编辑)
在ADO.NET中用参数化查询缩短开发时间_.net资料_编程技术

在ADO.NET中用参数化查询缩短开发时间_.net资料_编程技术

在ADO.NET中用参数化查询缩短开发时间_.net资料_编程技术-你的首页-uuhomepage.com

一段时间以来,存储过程一直是企业应用程序开发数据访问的首选方法。存储过程的安全性更高、封装能力更强,并能执行复杂的逻辑,且不会打乱应用程序代码。但是,它也存在一些缺点:

• 开发者倾向于在存储过程中加入商业逻辑。

• 更改过程时必须改变开发环境。

• 查找过程所需的参数比较费时。

• 许多时候,存储过程提供的功能超出所需。

嵌入到应用程序代码中的内联SQL代码是数据访问的另一个常见方法。虽然企业在开发过程中很少用到这种方法,但许多小型项目应用这种类型的数据访问方法。应用内联SQL可以实现快速开发,但它并不具有存储过程的安全与封装优势。


参数化查询介于存储过程与内联SQL之间。它为数据访问程序开发提供一种安全、封装性的方法,并允许你利用内联SQL的快速开发优势。

如何应用参数化查询


应用参数化查询并不那么容易。例如,下面的代码(图A)说明如何编写参数化查询:


在ADO.NET中用参数化查询缩短开发时间


图A 参数化查询


在这个例子中,我们选择所有具有指定CustomerID的用户。注意,这个过程与在一个存储过程中编写Select语句十分相似。其不同在于你将它直接嵌入你的应用程序代码或源文件中。(我们稍后再讨论源文件。)

为使ADO.NET能够移植@CustomerID参数,你只需简单建立一个正常的SqlParameter并将它加入到当前命令的SqlCommand.Parameters集中。然后你就可在希望的连接上执行命令,ADO.NET则建立在SQL服务器上执行的命令。下面的代码片断(图B)是一个说明如何建立并执行整个命令的例子:


在ADO.NET中用参数化查询缩短开发时间


图B 整个命令

如你所见,建立并执行参数化查询是一个非常简单的过程。在数据访问库——如微软的数据应用程序块——的辅助下,这个过程可以进一步简化。

参数化查询的缺点

说到编程,每种方法都有其优缺点,决定应用参数化查询也不例外。它的一个主要的缺点在于:由于查询被嵌入到应用程序代码中,可能在几个地方都以同样的查询结束。我可以建立一个存储查询的中心位置来消除这种重复。这个位置可以是一个XML文件、在应用程序中的一个带公共静态字符串成员的类、一个自定义的.NET属性、或者是一个空文件。应用这些技巧,你就可以在执行前查找到所需的查询。

应用参数化查询的另一个潜在问题是许多公司并不允许在其应用程序(以及数据层)中使用内联SQL。我认为这是因为人们在谈论将SQL插入应用程序代码时,他们指的是特别(内联)代码,而不是参数化查询。这样的规则也使DBA对在SQL服务器上执行代码有了更大的控制权,这对大型数据库十分有利。

何时应使用参数化查询?


在任何需要在SQL服务器上执行操作的情况下,你都可以应用参数化查询。但是,参数化查询主要应用于需要执行的创建、阅读、更新与删除(CRUD)操作。如果你在执行需要较长时间或由不同SQL语句构成的复杂操作,最好将此操作保留在SQL服务器中。


虽然参数化查询在许多情况下应用起来十分方便,但由于它可能会打乱你的应用程序代码,所以我并不推荐你在复杂的数据操作逻辑中应用它。当你的应用程序代码被打乱时,你必然会遇到严重的代码维护问题。

在编写数据访问程序的许多情况下,与特别查询与存储过程相比,参数化进程不失为一个较好的选择。参数化查询介于其他两种选择之间,如果应用得当,能够显著提高开发效率。





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.