您现在的位置是:首页 >

数据库的逻辑层 完成数据访问层

火烧 2021-09-30 00:21:17 1055
完成数据访问层   完成数据访问层  注意 Product Ta leAda ter 类从Product 表中返回的是CategoryID和Su lierID的值 但并不包括Categorie 表 的
数据库的逻辑层 完成数据访问层

完成数据访问层  

  完成数据访问层

  注意 ProductsTableAdapters类从Products表中返回的是CategoryID和SupplierID的值 但并不包括Categories表 的CategoryName字段和Suppliers表的CompanyName字段 尽管当我们显示产品信息时 这些很可能是我们想要显示的字段 我们可以扩充TableAdapter的起始方法GetProducts()来包含CategoryName和CompanyName字段的值 这方法进而会更新强类型的DataTable来包括这些新的字段

  但这会造成一个问题 因为TableAdapter的插入 更新 删除数据的方法是基于这个起始方法的 幸运的是 自动生成的插入 更新 删除方法并不会受SELECT子句中的子查询的影响 如果我们注意把对Categories和Suppliers的查询添加成子查询 而不是用JOIN语 句的话 我们可以避免重做这些修改数据的方法 在ProductsTableAdapter中的GetProducts()方法上按右鼠标 选择 配置 然后 把SELECT子句改成

  SQL

  SELECT   ProductID ProductName SupplierID CategoryID

  QuantityPerUnit UnitPrice UnitsInStock UnitsOnOrder ReorderLevel Discontinued

  (SELECT CategoryName

  FROM Categories

  WHERE Categories CategoryID = Products CategoryID) as CategoryName

  (SELECT CompanyName

  FROM Suppliers

  WHERE Suppliers SupplierID = Products SupplierID) as SupplierName

  FROM Products

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码