在ASP.NET中采用存储过程操作数据库的优点
本文来自:http://rzchina.net/node/3157
1、 由于应用程序随着时间推移会不断更改,增删功能,SQL过程代码会变得更复杂,存储过程为封装此代码提供了一个替换位置。
2、 存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量SQL语句的代码流量。
3、 使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。RPC封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。
4、 可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。
5、 代码精简一致,一个存储过程可以用于应用程序代码的不同位置。
6、 更好的版本控制,通过使用Microsoft Visual SourceSafe或某个其他源代码控制工具,可以轻松地恢复到或引用旧版本的存储过程。
7、 增强安全性,如通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;在一定程度上可以提高代码安全,防止SQL注入;SqlParameter类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型。
存储过程的缺点有以下两点。
1、 如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新GetValue()调用等,这时候估计比较烦琐了。
2、 可移植性差,由于存储过程将应用程序绑定到SQL SERVER,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在用户的环境中非常重要,则将业务逻辑封装在不特定于RDBMS的中间层中可能是一个更佳的选择。
【分析】
这道题目考查面试者对存储过程的深刻理解,在众多公司的面试中非常常见。那么什么是存储过程呢?简单地说,存储过程即将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,则以后需要数据库提供与已定义好的存储过程功能相同的服务时,只需调用execute即可自动完成命令。相对于在程序中动态编写SQL语句,存储过程更为方便,编程者只需要专注于程序的业务逻辑,数据库相关的操作可通过调用预先编写好的存储过程实现。
相关文档:
因为用户的一些对象, 可能在config里进行配置, 但是config怎么能随便让你添加自己的节点呢! 不行你自己试试, 在任何位置添加任何没有申明的节点, 系统都不会让你通过, 更不会让你去读它了, 当然, 你打算在别的xml文件里添加节点, 然后读出来, 创建对象, 这个没问题. 为了系统能有组织的管理用户的在配置文件里的自定义信息 ......
在网页的开发中为了搜索引擎的优化,添加页面的title
keyword description是最常用的方法之一。
asp.net的方法代码如下所示:
public void SEO_HEAD(string title, string keyword, string
description)
{
......
引用命名空间
using System.Diagnostics;
string sPath = "d:\\test\\test.bat";
string sDict = "d:\\test\\";
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe ......
1、解决了 framework2.0 架构下 子页 内容 引用updatepanel 导致 ajax控件 警告为:未知元素,代码排版紊乱。(framework3.5 无此问题 ) 方法为:在web.config 下 <pages><controls><add tagPrefix="ajax" /> tagprefix 属性 改为ajax ,页面内所有ajax 控件 的标签都由 <asp/>改为<ajax/> ......
asp.net教程:asp.net控件开发(三):处理标签间内容
asp.net控件标签间的内容有的时候处理成节点有的时候处理成子控件。如:间的节点就会处理成属性Text的值,而如Panel这样的控件则就是将其处理成子控件。首先看如何处理成属性的。
一、处理成为属性
对于控件标签间的内容我们可以通过类System.Web.UI.ParseChil ......