快速业务通道

ASP.NET 2.0数据教程之六十七:在TableAdapters里创建新的存储过程

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
ponentModel.DataObjectMethodType.Delete, true)]
   public bool DeleteProduct(int productID)
  {
    int rowsAffected = Adapter.Delete(productID);

// Return true if precisely one row was deleted, otherwise false
     return rowsAffected == 1;
  }
}

该类和以前 章节所创建的ProductsBLL class类差不多,只是它用的是数据集 NorthwindWithSprocs的ProductsTableAdapter 和 ProductsDataTable object对 象。与ProductsBLL类使用using NorthwindTableAdapters不同, ProductsBLLWithSprocs类使用的是using NorthwindWithSprocsTableAdapters. 同样的,该类的ProductsDataTable和 ProductsRow对象使用的是 NorthwindWithSprocs命名空间.我们的ProductsBLLWithSprocs class类提供了2 种数据访问方法GetProducts() 和GetProductByProductID().另外,还有添加、 更新、删除单个产品的方法.

第七步:在表现层出来数据集 NorthwindWithSprocs

此时,我们以及对数据访问层和业务逻辑层做了相 关改动,接下来我们要创建一个ASP.NET页面调用BLL的ProductsBLLWithSprocs class类以展示、更新、删除记录.

打开AdvancedDAL文件夹里的 NewSprocs.aspx页面,从工具箱拖一个GridView控件到页面,设置其ID为 Products. 从GridView的智能标签将其绑定到一个名为ProductsDataSource的 ObjectDataSource,设置其调用ProductsBLLWithSprocs类.

ASP.NET 2.0数据教程之六十七:在TableAdapters里创建新的存储过程

图22:设置ObjectDataSource调用ProductsBLLWithSprocs类

SELECT标签的下拉列表里有2个方法,GetProducts()和 GetProductByProductID().由于我们将在GridView里显示所有的产品,所以我们选 GetProducts()方法.在UPDATE, INSERT, 和DELETE标签里都只有一个方法,确保 选中它们,点Finish按钮。

完成设置后,Visual Studio会向GridView添 加BoundFields列以及一个CheckBoxField列, 启用GridView控件的“编辑 ”和“删除”功能.

ASP.NET 2.0数据教程之六十七:在TableAdapters里创建新的存储过程

图23:页面包含一个可以分页和排序的GridView控件.

就像在以 前的教程里探讨过的一样,完成ObjectDataSource的设置后,Visual Studio 会 自动的将OldValuesParameterFormatString属性设置为“original_{0} ”. 为使数据修改功能正常工作,要么将该属性删除,要么将其设置为 “{0}”.

在我们完成设置、启用“编辑”和 “删除”功能、将OldValuesParameterFormatString属性设为其默认 值后,页面的声明代码看起来应该和下面的差不多:

asp:GridView ID="Products" runat="server" AutoGenerateColumns="False"
   DataKeyNames="ProductID" DataSourceID="ProductsDataSource">
   <Columns>
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
    <asp:BoundField DataField="ProductID" HeaderText="ProductID"
       InsertVisible="False" ReadOnly="True"
       SortExpression="ProductID" />
     <asp:BoundField DataField="ProductName" HeaderText="ProductName"
       SortExpression="ProductName" />
     <asp:BoundField DataField="SupplierID" HeaderText="SupplierID"
       SortExpression="SupplierID" />
     <asp:BoundField DataField="CategoryID" HeaderText="CategoryID"
       SortExpression="CategoryID

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