快速业务通道

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

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

注意:

在前几章我们处理的是NorthwindWithSprocs数据集,该数据集只有一个 实体——ProductsDataTable,但是我们将会遇到处理categories的情 况。因此,在本文后面部分,当我提到数据访问层(Data Access Layer)时,我指 的是Northwind数据集,也就是我们在第1章《Creating a Data Access Layer》 里创建的那个.

打开Northwind数据集,选中CategoriesTableAdapter并打 开其属性窗口,该窗口列出了该TableAdapter用到的InsertCommand, UpdateCommand, DeleteCommand, 以及SelectCommand,以及name和数据库连接信 息.展开DeleteCommand属性查看其细节.如图15所示,DeleteCommand的 ComamndType属性被设置为Text, 其文本信息作为一个ad-hoc SQL查 询.

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

图15:在CategoriesTableAdapter的属性窗口查看其属性信息

让我们来作一些修改.选中“(DeleteCommand)”文本,然后在下拉列 表里选“(New)”,这将清除掉CommandText, CommandType,Parameters属性的设置。接着将CommandType属性设置为 StoredProcedure,然后在CommandText属性里输入存储过程的名称(即 dbo.Categories_Delete).如果你是按照先设置CommandType属性再设置 CommandText属性的顺序的话,Visual Studio将自动生成Parameters collection(参数集).如果你没有按照这个顺序来的话,你就只能点击Parameters 属性里的一个椭圆型的区域来打开Parameters Collection Editor对话框,手动 添加参数.不管是自动的还是手动添加参数,我们都应该打开Parameters Collection Editor对话框以检查参数是否正确(如图16).如果你在对话框里没看 到任何的参数,那么就手动添加参数@CategoryID,(你不需要添加参数 @RETURN_VALUE).

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

图16:确保参数设置正确

当DAL完成更新后,删除一个category 将自动的删除所有其对应的product,这些操作都置身于一个事务里.我们来做个 验证,重返刚才那个页面,当单击某个category的Delete按钮时,该category及 其所有的product都会被删除.

注意:

在测试Categories_Delete存 储过程前,最好对数据库做个备份,因为该存储过程将删除选中的category及其 对应的product.如果你用的是App_Data文件夹里的NORTHWND.MDF数据库的话,你 只需要关闭Visual Studio并将文件夹里的MDF和LDF文件拷贝到其它文件夹.测试 完毕后,关闭Visual Studio,再用备份的MDF和LDF文件覆盖掉App_Data文件夹的 对应文件.

结语:

虽然TableAdapter向导可以自动的生成存储过程 ,但是在某些时候我们需要使用现有的存储过程。在本文,我们考察了如何在 Visual Studio环境里手动添加存储过程,并引导TableAdapter的方法使用这些存 储过程。另外我们还考察了在存储过程里用来开启、提交、回滚事务的T-SQL commands 和script脚本模式.

祝编程快乐!

作者简介

Scott Mitchell,著有六本ASP/ASP.NET方面的书,是 4GuysFromRolla.com的创始人,自1998年以来一直应用 微软Web技术。Scott是个 独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作, 24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也 可以通过他的博客http://ScottOnWriting.NET与他联系。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号