快速业务通道

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

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

完成向导后,TableAdapter将包含一个新的可用 方法——GetProductByProductID(productID),当调用该方法时,将 执行我们刚刚创建的Products_SelectByProductID存储过程.花点时间在服务器资 源管理器里查看该存储过程,点Stored Procedures文件夹,并打开 Products_SelectByProductID(如果你没看到它,在Stored Procedures文件夹上 右击鼠标,选“刷新”).

请注意,SelectByProductID存储过 程将@ProductID作为输入参数,并执行我们在向导里输入的SELECT Statement, 如下:

ALTER PROCEDURE dbo.Products_SelectByProductID
(
  @ProductID int
)
AS
  SET NOCOUNT ON;

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

第六步:创建一 个业务逻辑层类

在我们打算从表现层访问产品前,我们首先需要为新添加 的数据集创建一个BLL class,在~/App_Code/BLL文件夹里创建一个 ProductsBLLWithSprocs.cs文件,如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using NorthwindWithSprocsTableAdapters;

[System.ComponentModel.DataObject]
public class ProductsBLLWithSprocs
{
  private ProductsTableAdapter _productsAdapter = null;
  protected ProductsTableAdapter Adapter
  {
    get
    {
      if (_productsAdapter == null)
        _productsAdapter = new ProductsTableAdapter();

return _productsAdapter;
    }
  }

[System.ComponentModel.DataObjectMethodAttribute
     (System.ComponentModel.DataObjectMethodType.Select, true)]
   public NorthwindWithSprocs.ProductsDataTable GetProducts()
   {
    return Adapter.GetProducts();
  }

[System.ComponentModel.DataObjectMethodAttribute
     (System.ComponentModel.DataObjectMethodType.Select, false)]
   public NorthwindWithSprocs.ProductsDataTable GetProductByProductID(int productID)
  {
    return Adapter.GetProductByProductID(productID);
  }

[System.ComponentModel.DataObjectMethodAttribute
     (System.ComponentModel.DataObjectMethodType.Insert, true)]
   public bool AddProduct
    (string productName, int? supplierID, int? categoryID,
     string quantityPerUnit, decimal? unitPrice, short? unitsInStock,
     short? unitsOnOrder, short? reorderLevel, bool discontinued)
  {
    // Create a new ProductRow instance
     NorthwindWithSprocs.ProductsDataTable products =
      new NorthwindWithSprocs.ProductsDataTable();
     NorthwindWithSprocs.ProductsRow product = products.NewProductsRow ();

product.ProductName = productName;
    if (supplierID == null)
       product.SetSupplierIDNull();
    else
       product.SupplierID = supplierID.Value;
    if (categoryID == null)
      product.SetCategoryIDNull();
     else
      product.CategoryID = categoryID.Value;

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