快速业务通道

ASP.NET 2.0数据教程之六十八:在TableAdapters里使用现有的存储过程

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

返回“ASP.NET 2.0数据教程目录”

导言:

在前面的文章里我们考察了如何让TableAdapters向导自动的创 建存储过程.而在本文,我们将考察如何让TableAdapter使用现有的存储过程。由 于Northwind数据库现有的存储过程很少,我们也需要考察如何在Visual Studio 环境里手动向数据库添加新的存储过程.

注意:

在第63章 《Wrapping Database Modifications within a Transaction》里我们向 TableAdapter添加了一些方法以支持事务(比如 (BeginTransaction, CommitTransaction等)。我们可以在不修改数据访问层代码的情况下,在一个存 储过程里管理整个事务.在本文,我们还将对事务里执行存储过程的T-SQL commands命令进行考察.

第一步:向Northwind数据库添加存储过程

我们很容易通过Visual Studio向数据库添加存储过程.让我们向 Northwind数据库添加一个新存储过程,它返回Products表里特定CategoryID值的 产品.在服务器资源管理窗口,展开Northwind数据库,就像我们在前面的文章看 到的一样,存储过程文件夹包含了现有的存储过程。要添加新的存储过程的话, 只需要右键单击存储过程文件夹,选“添加新存储过程”项,

ASP.NET 2.0数据教程之六十八:在TableAdapters里使用现有的存储过程

图1:右击Stored Procedures文件夹选“Add a New Stored Procedure”

如图1所示,选“Add a New Stored Procedure”项后,将在Visual Studio里打开一个脚本窗口.输入如下的脚 本:

CREATE PROCEDURE dbo.Products_SelectByCategoryID
(
  @CategoryID int
)
AS

SELECT ProductID, ProductName, SupplierID, CategoryID,
    QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder,
    ReorderLevel, Discontinued
FROM Products
WHERE CategoryID = @CategoryID

当执行该脚本时,将会向数据库添加一个名为 Products_SelectByCategoryID的新存储过程,该存储过程接受一个输入参数 (@CategoryID, 类型为int)并将与CategoryID值匹配的所有产品返回.

执 行该CREATE PROCEDURE脚本,将向数据库添加存储过程,点工具栏的保存按钮或 按Ctrl+S。如此之后,刷新存储过程文件夹以显示最近添加的存储过程,如此一 ilai部分由“CREATE PROCEDURE dbo.Products_SelectProductByCategoryID” 转变为“ALTER PROCEDURE dbo.Products_SelectProductByCategoryID”. CREATE PROCEDURE用于添加新存储过程,而ALTER PROCEDURE用于更新现有的存储过程。 由于脚本开头部分已经转变为ALTER PROCEDURE, 我们可以通过改动输入参数或 SQL statements并点击保存按钮,即可完成对存储过程的更新.图2显示的是保存 Products_SelectByCategoryID存储过程后的画面.

ASP.NET 2.0数据教程之六十八:在TableAdapters里使用现有的存储过程

图2:Products_SelectByCategoryID存储过程已经添加到数据库

第二步:设置TableAdapter使用现有的存储过程

现在存储过程 Products_SelectByCategoryID已经添加到数据库,我们将设置数据访问层使用该 存储过程。具体说,我们将向ProductsTableAdapter添加 GetProducstByCategoryID(categoryID)方法, 该方法将调用我们刚刚创建的存 储过程Products_SelectByCategoryID.

打开NorthwindWithSprocs数据集 ,在ProductsTableAdapter上右键单击,选“添加查询”以启用 TableAdapter Query Configuration wizard.我们将使用刚刚创建的存储过程 Products_SelectByCategoryID,因此选“Use existing stored procedure”项,然后点Next.

ASP.NET 2.0数据教程之六十八:在TableAdapters里使用现有的存储过程

图3:选“Use existing stored procedure”项

接 下来的画面为一个下拉列表框,列出了数据库现有的所有存储过程,当选择某个 存储过程的话,左边将列出其输入参数,右边将列出其返回列(如果有的话).在下 拉列表里选Products_SelectByCategoryID存

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号