ASP.NET 2.0数据教程之七十五: 用Managed Code创建存储过程和用户自定义函数(2010-08-13 翻译:CSDN 王文涛返回“”ASP.NET 2.0数据教程之七十五: 用Managed Code创建存储过程和用户自定义函数(上)导言:数据库,比如Microsoft’s SQL Server 2005使用 Transact-Structured Query Language (T-SQL)来插入、修改、检索数据.绝大多 数数据库系统都包含constructs来对一系列的SQL statements进行分组,这些 statements可以作为单独的单元来执行.存储过程就是一个例子,另一个例子是用 户自定义函数(UDFs), 我们将在第9步进行详细的探讨.SQL是设计来处理 一系列数据的. SELECT,UPDATE,和DELETE statements适用于相应表的所有记录, 且通过WHERE字句来进行筛选.也有很多的特性被设计来一次处理一条记录,或操 作标量数据(scalar data).比如CURSORs允许一次遍历所有的记录.字符串操作功 能,比如LEFT, CHARINDEX, 以及PATINDEX用来处理标量数据.SQL也包含了控制流 声明,比如IF和WHILE.在Microsoft SQL Server 2005之前,存储过程和 用户自定义函数UDFs只能当做一个T-SQL statements集来创建,而SQL Server 2005设计时包含Common Language Runtime (CLR)。因此,对一个SQL Server 2005数据库里的存储过程和用户定义方法,我们可以用managed code来进行创建 。那就也说你可以在一个C#类里创建一个存储过程或用户定义函数.这样一来我们 就可以在.NET Framework或你自己定义的类里面使用这些存储过程或方 法.在本文我们将考察如何创建存储过程和用户定义函数,以及如何将它 们整合进数据库Northwind.让我们开始吧。注意:管理数据库对 象(Managed database objects)与SQL数据库里包含的相对应的数据库对象比较起 来有一些优势,主要体现在:使用的语言更丰富、熟悉;可以使用现有的代码和 逻辑.但是在处理那些并不包含很多逻辑的一系列数据时,其效率可能要低一些. 关与managed code相较T-SQL而言的优势,请参阅文章《Advantages of Using Managed Code to Create Database Objects》 (http://msdn2.microsoft.com/en-us/library/k2e1fb36(VS.80).aspx)第一步:将Northwind数据库移出App_Data文件夹本教程到目前为止使用 的是放在App_Data文件夹里的Microsoft SQL Server 2005 Express版本的数据库 .然而在本教程,我们将Northwind数据库移出App_Data文件夹,再使用一 个被注册为SQL Server 2005 Express版本数据库的实例。虽然我们不移出的话也 可以执行本文的这些步骤,不过将其注册为一个SQL Server 2005 Express版本数 据库的实例的话,这些步骤就要简单的多了。本文下载代码里包含2个数 据库文件:NORTHWND.MDF 和 NORTHWND_log.LDF,将它们放在一个叫DataFiles的 文件夹里,先关闭Visual Studio,再将NORTHWND.MDF 和 NORTHWND_log.LDF文件 从根目录的App_Data文件夹里移出到根目录以外的其它文件夹里。完成后,我们 需要将Northwind数据库注册为SQL Server 2005 Express版本数据库的实例。为 此我们要用到SQL Server Management Studio.如果你没有安装的话,可以在此下 载并安装:(http://www.microsoft.com/downloads/details.aspx? displaylang=en&FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796)。打开SQL Server Management Studio,如图1所示,Management Studio首 先问我们连接什么服务器,在server name里键入 “localhostSQLExpress” ,在Authentication下拉列表里选 “Windows Authentication” 。点Connect.

图1:连接恰当的数据库实例