加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程

发布时间:2016-11-22 07:06:45 所属栏目:MsSql教程 来源:网络整理
导读:第八步:从表现层调用Managed Stored Procedures 当对数据访问层和业务逻辑层进行扩充以支持调用GetDiscontinuedProducts 和 GetProductsWithPriceLessThan这2种managed stored procedures后,我们可以在一个ASP.NET页面里展示这些存储过程的结果了. 打开A

  在Management Studio里,展开Northwind数据库里的Programmability文件夹,其内有一个Assemblies文件夹。在该文件夹上右键单击,选“New Assembly”.这将开启New Assembly对话框(见图30),点击Browse按钮,选择我们刚刚编译的ManuallyCreatedDBObjects.dll文件,再点OK完成添加.在Object Explorer里你应该可以看到ManuallyCreatedDBObjects.dll文件.

/uploads/allimg/c161121/14OI9604DM0-111L6.png
图30:将ManuallyCreatedDBObjects.dll添加到数据库

/uploads/allimg/c161121/14OI96053B60-1259A.png
图31:ManuallyCreatedDBObjects.dll展示在Object Explorer里


完成后,我们要将一个存储过程与编译文件里的GetProductsWithPriceGreaterThan方法联系起来.为此,打开一个new query窗口,执行下面的脚本:

CREATE PROCEDURE [dbo].[GetProductsWithPriceGreaterThan]
(
 @price [numeric](18, 0)
)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [ManuallyCreatedDBObjects].[StoredProcedures].[GetProductsWithPriceGreaterThan]
GO

  这将在Northwind数据库里创建一个名为etProductsWithPriceGreaterThan的新存储过程,并将其与GetProductsWithPriceGreaterThan方法联系起来(该方法属于编译文件ManuallyCreatedDBObjects)

  执行完脚本后,在Object Explorer里刷新Stored Procedures文件夹。你将看到一个新的存储过程——GetProductsWithPriceGreaterThan,在该存储过程旁边有一个锁的图标.测试该存储过程,在查询窗口键入并执行如下的脚本:

exec GetProductsWithPriceGreaterThan 24.95

如图32所示,上述命令将那些价格高于24.95的产品展示出来.

/uploads/allimg/c161121/14OI9605I010-1344G.png
图32:在对象资源管理器的显示的列表

结语:

  Microsoft SQL Server 2005整合了Common Language Runtime (CLR),它允许用managed code来创建数据库对象.在以前,要创建数据库对象,我们只能使用T-SQL, 但是现在我们可以使用.NET编程语言,比如C#来进行创建. 在本文我们创建了2个managed stored procedures以及一个managed User-Defined Function.

  Visual Studio的SQL Server Project类型可以很容易的创建、编译、配置managed database objects,此外还支持多种调试.遗憾的是,SQL Server Project类型只有在Visual Studio的Professional 和 Team Systems版本才有。对于Visual Web Developer 或Standard版的用户而言,要手工完成这些步骤,就想我们在第13步看到的那样.

  祝编程快乐!

作者简介

  本系列教程作者 Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用 微软Web技术。大家可以点击查看全部教程《[翻译]Scott Mitchell 的ASP.NET 2.0数据教程》,希望对大家的学习ASP.NET有所帮助。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读