加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在ASP.NET 2.0中操作数据之六十五:在TableAdapters中创建新的存

发布时间:2016-11-22 15:48:38 所属栏目:MsSql教程 来源:站长网
导读:导言: 本教程的Data Access Layer (DAL)使用的是类型化的数据集(Typed DataSets).就像我们在第一章《创建一个数据访问层》里探讨的一样,该类型化的数据集由强类型的DataTable和TableAdapter构成。DataTable描绘的是系统里的逻辑实体而TableAdapter引用相

  该类和以前章节所创建的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类.

/uploads/allimg/c161121/14OI952N9550-10S000.png
图22:设置ObjectDataSource调用ProductsBLLWithSprocs类

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

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

/uploads/allimg/c161121/14OI952S0160-1093159.png
图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" />
 <asp:BoundField DataField="QuantityPerUnit" HeaderText="QuantityPerUnit"
  SortExpression="QuantityPerUnit" />
 <asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice"
  SortExpression="UnitPrice" />
 <asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock"
  SortExpression="UnitsInStock" />
 <asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder"
  SortExpression="UnitsOnOrder" />
 <asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel"
  SortExpression="ReorderLevel" />
 <asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued"
  SortExpression="Discontinued" />
 </Columns>
</asp:GridView>

<asp:ObjectDataSource ID="ProductsDataSource" runat="server"
 DeleteMethod="DeleteProduct" InsertMethod="AddProduct"
 SelectMethod="GetProducts" TypeName="ProductsBLLWithSprocs"
 UpdateMethod="UpdateProduct">
 <DeleteParameters>
 <asp:Parameter Name="productID" Type="Int32" />
 </DeleteParameters>
 <UpdateParameters>
 <asp:Parameter Name="productName" Type="String" />
 <asp:Parameter Name="supplierID" Type="Int32" />
 <asp:Parameter Name="categoryID" Type="Int32" />
 <asp:Parameter Name="quantityPerUnit" Type="String" />
 <asp:Parameter Name="unitPrice" Type="Decimal" />
 <asp:Parameter Name="unitsInStock" Type="Int16" />
 <asp:Parameter Name="unitsOnOrder" Type="Int16" />
 <asp:Parameter Name="reorderLevel" Type="Int16" />
 <asp:Parameter Name="discontinued" Type="Boolean" />
 <asp:Parameter Name="productID" Type="Int32" />
 </UpdateParameters>
 <InsertParameters>
 <asp:Parameter Name="productName" Type="String" />
 <asp:Parameter Name="supplierID" Type="Int32" />
 <asp:Parameter Name="categoryID" Type="Int32" />
 <asp:Parameter Name="quantityPerUnit" Type="String" />
 <asp:Parameter Name="unitPrice" Type="Decimal" />
 <asp:Parameter Name="unitsInStock" Type="Int16" />
 <asp:Parameter Name="unitsOnOrder" Type="Int16" />
 <asp:Parameter Name="reorderLevel" Type="Int16" />
 <asp:Parameter Name="discontinued" Type="Boolean" />
 </InsertParameters>
</asp:ObjectDataSource>

(编辑:南京站长网)

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

热点阅读