Top Banner
工工工工 工工工工 21 21 工工工工工工 工工工工工工 工工工工: 工工工工工工 工工工工工
34

工作任务 21 编写程序代码

Jan 04, 2016

Download

Documents

aurelia-evans

基于 C# 的 SQL Server 应用开发. 学习情境 Ⅰ: 子 学习情境 七 测试数据库. 工作任务 21 编写程序代码. 做什么. 设计网络商城相应模块。. 怎么做. 针对网络商城系统所包括的七大功能 — 系统登录、商品查找、商品分类列表、最欢迎商品、商品详细信息、购物车和订单查询,分别设计相应程序模块。 为网络商城系统所包括的七大功能模块 — 系统登录模块、商品查找模块、商品分类列表模块、最欢迎商品模块、商品详细信息模块、购物车模块和订单查询模块,分别编写相应程序代码。. 准备做. 展示网络商城的案例. 动手做. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 工作任务 21  编写程序代码

工作任务工作任务 21 21 编写程序代码编写程序代码

学习情境Ⅰ : 子学习情境七 测试数据库

Page 2: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

做什么 做什么

设计网络商城相应模块。

Page 3: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

怎么做 怎么做

针对网络商城系统所包括的七大功能—系统登录、商品查找、商品分类列表、最欢迎商品、商品详细信息、购物车和订单查询,分别设计相应程序模块。

为网络商城系统所包括的七大功能模块—系统登录模块、商品查找模块、商品分类列表模块、最欢迎商品模块、商品详细信息模块、购物车模块和订单查询模块,分别编写相应程序代码。

Page 4: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

准备做 准备做

展示网络商城的案例

Page 5: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

实施工作任务设计应用系统的程序模块:步骤:① 设计系统功能模块网络商城系统的功能模块主要分为以下几个部分:系统登录模块商品查找模块商品分类列表模块最受欢迎商品模块商品详细信息模块购物车模块订单查询模块② 设计系统登录模块1 、系统登录模块主要实现验证用户身份的功能,因此主要响应用户提交输入信息的事件,即

“登录”按钮的单击事件。该模块调用存储过程 UserLogin 来完成用户的身份验证:ALTER Procedure UserLogin( @UserName nvarchar(16), @Password nvarchar(12),

Page 6: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做@UserID int OUTPUT)ASSELECT @UserID = UserIDFROM [StoreOnline].[dbo].[User]WHERE UserName = @UserName AND Password = @PasswordIF @@Rowcount < 1 SELECT @UserID = 0Userlogin 存储过程定义参数 @UserName , @Password 和 @UserID 。其

中, @UserName 和 @Pssword 这两个参数用来接收输入的用户名和密码, @UserID 参数作为输出参数。

2 、登录功能的实现过程首先调用 StoreOnline.cs 文件中的 GetShoppingCartId() 函数。该函数用来获取用户正在使用的购物车信息

3 、获取用户的购物车信息以后,就可以使用存储过程 UserLogin 获取登录用户的信息。当用户登录有效时,取得数据库中该用户的 Userid ,然后使用 GetUserDetails(userid) 函数取得该用户的详细信息。

Page 7: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

4 、为了从数据库中获取会员的所有信息,该代码片断调用了 UserInfo 存储过程。该存储过程用于从会员信息表 (User) 中读取所有的信息。

ALTER Procedure UserInfo( @UserID int, @UserName nvarchar(16) OUTPUT, @Password nvarchar(12) OUTPUT, @Name nvarchar(10) OUTPUT, @Email nvarchar(50) OUTPUT, @IDCardNumber nvarchar(18) OUTPUT, @TelephoneNumber nvarchar(12) OUTPUT, @Address nvarchar(50) OUTPUT, @ZoneCode nvarchar(10) OUTPUT, @Mobilephone nvarchar(12) OUTPUT, @Oicq nvarchar(20) OUTPUT, @MSN nvarchar(50) OUTPUT ) AS

Page 8: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

SELECT @UserName = UserName, @Password = Password, @Name = Name, @Email = Email, @IDCardNumber = IDCardNumber, @TelephoneNumber = TelephoneNumber, @Address = Address, @ZoneCode = ZoneCode, @Mobilephone = Mobilephone, @Oicq = Oicq, @MSN =MSNFROM [StoreOnline].[dbo].[User]WHERE UserID = @UserID从数据库中获取所有的信息之后,定义 myUserDetails 对象为 UserDetails 类,并根据存

储过程的输出参数的值对 myUserDetails 对象进行赋值。 GetUserDetails(userid) 函数返回

Page 9: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

myUserDetails 对象。5 、通过 GetUserDetails(userid) 函数获取用户名写入到 Cookies("Store_UserName") ,

然后把用户名称添加到身份认证凭据中,完成登录过程。③ 设计商品查找模块

1 、商品查找模块主要包括一个 Search 控件和一个查询结果页面。 Search 控件主要记录用户要查询的条件。

2 、查找结果页面中的 DataList 控件绑定所查询到的结果。该页面加载时就把查找到的数据结果绑定到 DataList 控件。

3 、以用户输入的商品的查询条件为参数,使用函数 SearchProDescriptions() 查找数据库中的商品信息,该函数在文件 StoreOnline.cs 中。

SearchProDescriptions() 函数用于查找商品,调用了 SearchPro 存储过程。ALTER Procedure SearchPro( @ProName nvarchar(255), @CatID int)ASSELECT

Page 10: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ProID, CatID, ProName, ProPrice, ProImagesFROM ProductsWHERE ProName Like '%'+ @ProName +'%' AND CatID =@CatID在 SearchPro 存储过程中使用了模糊查询,查找该分类中的类似名称的商品。使

用 .ExecuteReader 命令进行查询,返回结果 result 。4 、把通过 SearchProDescriptions() 函数获得的数据绑定到 DataList 控件上,页面加载

时就可以显示查询到的结果。④ 设计商品分类列表模块

1 、商品分类模块嵌套于首页页面,用来显示所有的商品分类信息,因此该控件后台代码

Page 11: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

主要是响应页面加载时绑定商品分类信息。2 、商品分类列表功能的原理是首先设置 DataList 的当前选择值 selection ,然后创建数

据库连接对象,并打开该数据库连接,执行数据库操作命令,在该命令中使用 ListProCategory存储过程,最后把读取到的结果绑定到 DataList 控件。

ALTER Procedure ListProCategoryASSELECT CatID, CatNameFROM CategoriesORDER BY CatName ASC

⑤ 设计最受欢迎商品模块1 、最受欢迎商品模块同商品分类列表模块类似,主要在页面加载的时候把从数据库中获取

的数据绑定到 DataList 控件,向用户展示销量最好的商品。2 、页面中的 DataList 控件加载的数据源是通过 GetMostSoldProducts() 函数获得的。

该函数位于 StoreOnline.cs 文件中。

Page 12: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

3 、该函数处理数据库的命令对象使用 Sql 命令的操作类型是存储过程。该存储过程为MostSoldProducts 的详细代码如下:

ALTER Procedure MostSoldProductsASSELECT TOP 6 OrderContent.ProID, SUM(OrderContent.ProQuantity) as TotalNum, Products.ProName, Products.ProImages, Products.ProPriceFROM OrderContent INNER JOIN Products ON OrderContent.ProID = Products.ProIDGROUP BY OrderContent.ProID, Products.ProName, Products.ProImages, Products.ProPrice

Page 13: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ORDER BY TotalNum DESCMostSoldProducts 存储过程使用 Products 表和 OrderContent 表,读者还可以根据个人

喜好设定更加吸引顾客的信息。⑥ 设计商品详细信息模块

1 、商品详细信息模块主要响应页面加载时数据绑定到控件的事件。2 、页面加载时通过读取 StoreOnline.cs 文件中的 GetProDetails() 函数获取商品的详细信

息。3 、根据用户选择的商品编号从数据库中读取商品的详细信息。该读取过程使用 ProDetail 存

储过程,其详细代码如下:ALTER Procedure ProDetail( @ProID int, @ProMarketPrice money OUTPUT, @ProName nvarchar(50) OUTPUT, @ProImages nvarchar(50) OUTPUT, @ProPrice money OUTPUT, @ProIntro nvarchar(4000) OUTPUT)

Page 14: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ASSELECT @ProID = ProID, @ProMarketPrice = ProMarketPrice, @ProName = ProName, @ProImages = ProImages, @ProPrice = ProPrice, @ProIntro = ProIntroFROM ProductsWHERE ProID = @ProIDPorDetail 存储过程选择商品编号同参数 @ProID 得到的数值相同的商品信息。获取商品信

息以后,就可以把这些信息绑定到各个控件上。⑦ 设计购物车模块

1 、购物车模块是网络商城系统的一个主要模块。该模块主要包括以下几个文件。AddToCart.aspx 文件ShoppingCart.aspx 文件

Page 15: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

CheckOut.aspx 文件2 、用户把商品放入购物车首先进入 AddToCart 页面进行购物车的前提准备。3 、当用户把商品放入购物车后,就调用 StoreOnline.cs 文件中的 GetShoppingCartId()

函数来获取购物车信息。然后调用 AddItemtoShoppingCart() 函数把商品加入该购物车,并定位到购物车页面。

4 、 AddItemtoShoppingCart() 函数的功能是使用 AddItemtoShoppingCart 存储过程向数据库中插入一条新的记录。

ALTER Procedure AddItemtoShoppingCart( @CartIDString nvarchar(50), @ProID int, @ProQuantity int)AsDECLARE @CountItems intSELECT @CountItems = Count(ProID)FROM

Page 16: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ShopCartWHERE ProID = @ProID AND CartIDString = @CartIDStringIF @CountItems > 0 UPDATE ShopCart SET ProQuantity = (@ProQuantity + ShopCart.ProQuantity) WHERE ProID = @ProID AND CartIDString = @CartIDStringELSE INSERT INTO ShopCart ( CartIDString,

Page 17: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

PRoQuantity, ProID ) VALUES ( @CartIDString, @ProQuantity, @ProID )AddItemtoShoppingCart 存储过程首先从 ShopCart 信息表中获取用户所购商品的数量。

如果数量大于 0 ,则更新该条记录,否则向该信息中插入一条新的记录。5 、购物车页面主要向用户展示购物车中商品的信息,页面加载时,绑定登录用户的所有购

物信息,如果没有登录则进入登录页面。页面加载时使用 PopulateShoppingCartList() 函数把购物车中的信息绑定到 DataList 控件。

6 、 PopulateShoppingCartList() 函数首先通过 GetShoppingCartId() 函数获取购物车的标识,并通过 CountShoppingCartItem() 函数判断购物车中商品的数量,如果数量为 0 ,则不显示购物车信息,并显示提示信息,否则,使用 DisplayShoppingCart() 函数获取购物车信息并把该信息绑定到 DataGrid 控件。

7 、 CountShoppingCartItem() 函数通过 CountShoppingCartItem 存储过程获取购物

Page 18: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

车内商品的数量,并返回该数值。ALTER Procedure CountShoppingCartItem ( @CartIDString nvarchar(50), @ItemCount int OUTPUT ) AS SELECT @ItemCount = COUNT(ProID) FROM ShopCart WHERE CartIDString = @CartIDString该存储过程使用 COUNT() 函数来计算某件商品的总数,并返回该信息值。8 、当获取购物数量大于 0 时,就使用 DisplayShoppingCart() 函数获取购物车中商品的

信息。9 、 DisplayShoppingCart() 函数通过操作 DisplayShoppingCart 存储过程获取购物车

中的商品信息。

Page 19: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ALTER Procedure DisplayShoppingCart( @CartID nvarchar(50))ASSELECT Products.ProID, Products.ProName, Products.ProMarketPrice, ShopCart.ProQuantity, Products.ProPrice, Cast((Products.ProPrice * ShopCart.ProQuantity) as money) as ExtendedAmountFROM Products, ShopCartWHERE Products.ProID = ShopCart.ProID

Page 20: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

AND ShopCart.CartIDString = @CartIDORDER BY Products.ProName, Products.ProMarketPriceDisplayShoppingCart 存储过程中 ExtendedAmount变量是商品价格和商品数量乘积所得

的商品总价格,用来绑定到 DataGrid 控件的“小计”栏中。10 、当用户更改购物车中商品的数量或者删除商品以后,单击“更新购物车”按钮则响应购物

车的事件,该事件主要包括 UpdateShoppingCartDatabase() 和 PopulateShoppingCartList()两个函数。

11 、 UpdateShoppingCartDatabase() 该函数首先通过 GetShoppingCartId() 函数获取购物车标识,并获取 DataGrid 控件中所包含的项目数量,根据该数量来控制一个循环过程,该循环使用 for循环语句完成。接着,获取 DataGrid 控件中 TextBox 控件和 CheckBox 控件的信息。如果某种商品的数量改变了或者删除该商品的 Check 控件被选择了,那么调用相应的方法更新数据库。删除商品使用 ShoppingCartRemoveItem() 函数。

12 、删除商品函数中调用了 RemoveShoppingCartItem 存储过程。ALTER Procedure RemoveShoppingCartItem( @CartIDString nvarchar(50),

Page 21: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

@ProID int)ASDELETE FROM ShopCartWHERE CartIDString = @CartIDString AND ProID = @ProIDRemoveShoppingCartItem 存储过程相对比较简单,只是从 ShopCart 信息表中删除商

品编号和购物车标识都对应的数据记录。13 、更新购物车中商品的数量使用的是 ShoppingCartUpdate() 函数。该函数传递购物车

中某件商品的数量。14 、 ShoppingCartUpdate() 该函数首先判断用户输入的数值是否有效,当输入数据为负

数则显示错误信息,否则执行更新数据库操作。该函数更新数据库时调用UpdateShoppingCart 存储过程。

ALTER Procedure UpdateShoppingCart ( @CartIDString nvarchar(50),

Page 22: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

@ProID int, @ProQuantity int ) AS UPDATE ShopCart SET ProQuantity = @ProQuantity WHERE CartIDString = @CartIDString AND ProID = @ProIDUpdateShoppingCart 存储过程的作用是修改购物车中商品的数量。15 、用户单击 “最终结算”按钮。如果购物数量不等于 0 ,则进入购物结算页面,否则,

显示错误提示。至此,购物车的基本功能已经全部实现。16 、结算页面主要向用户确认由用户提交的购物信息。在页面加载时要将用户的全部购物

信息显示给用户。17 、首先获取购物车标识,然后通过 DisplayShoppingCart() 函数获取该购物车上的商品

Page 23: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

信息并绑定到 DataGrid 控件,通过 ShoppingCartTotalCost() 函数计算本次购物的消费总额,并显示到 Label 控件上。

18 、 ShoppingCartTotalCost() 函数调用 ShoppingCartTotalCost 存储过程:ALTER Procedure ShoppingCartTotalCost( @CartIDString nvarchar(50), @TotalCost money OUTPUT)ASSELECT @TotalCost = SUM(Products.ProPrice * ShopCart.ProQuantity)FROM ShopCart, ProductsWHERE ShopCart.CartIDString = @CartIDString AND Products.ProID = ShopCart.ProID

Page 24: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ShoppingCartTotalCost 存储过程通过 SUM 函数计算购物的消费总额,并通过参数@TotalCost 输出该信息。

19 、当用户单击“提交”按钮以后将显示用户所下的订单编号。20 、当用户下达订单成功后,将通过 PlaceOrder() 函数将购物信息写入订单信息表和订单

详细信息表中。 Place Order() 函数通过调用 AddOrder 存储过程向信息表中插入一条新的记录。ALTER Procedure AddOrder

(

@UserID int,

@CartIDString nvarchar(50),

@OrderDate datetime,

@OrderID int OUTPUT

)

AS

BEGIN TRAN OrderAdd

/* Create the Order header */

INSERT INTO Orders

(

Page 25: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

UserID, OrderDate)VALUES( @UserID, @OrderDate )SELECT @OrderID = @@Identity INSERT INTO OrderContent( OrderID, ProID, ProQuantity, UnitCost)SELECT

Page 26: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

@OrderID, ShopCart.ProID, ProQuantity, Products.ProPriceFROM ShopCart INNER JOIN Products ON ShopCart.ProID = Products.ProID WHERE CartIDString = @CartIDStringEXEC EmptyShoppingCart @CartIDStringCOMMIT TRAN OrderAddAddOrder 存储过程比较复杂,但并不难理解。首先根据参数传入的数据向 Order 信息表

中插入一条记录,接着向 OrderContent 信息表中插入一条记录并清空购物车。该存储过程使用EmptyShoppingCart 存储过程。

ALTER Procedure EmptyShoppingCart( @CartIDString nvarchar(50))

Page 27: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

ASDELETE FROM ShopCartWHERE CartIDString = @CartIDStringEmptyShoppingCart 存储过程的主要作用是从 ShopCart 信息表中删除该购物车标识的记录。至此,购物车的全部功能已经实现。

⑧ 设计订单查询模块1 、通过订单查询模块,用户可以方便地查找所有的订单信息。查找订单信息的前提是会员必须

已经登录,否则将进入登录页面。2 、订单查询模块包括 OrderList.aspx 和 OrderDetails.aspx 两个文件,即订单列表页面和

订单详细信息页面。3 、订单列表页面加载时实现数据的绑定。4 、订单列表页面加载时通过 GetUserOrders() 函数获取订单信息,并绑定到 DataGrid 控件。

GetUserOrders() 函数包含在 StoreOnline.cs 文件中。 GetUserOrders() 函数通过调用ListOrders 存储过程完成数据的读取工作。

ALTER Procedure ListOrders(

Page 28: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

@UserID int)AsSELECT Orders.OrderID, Cast(sum(OrderContent.ProQuantity*OrderContent.unitcost) as money) as OrderTotalCost, Orders.OrderDateFROM Orders INNER JOIN OrderContent ON Orders.OrderID = OrderContent.OrderIDGROUP BY UserID, Orders.OrderID, Orders.OrderDateHAVING Orders.UserID = @UserIDListOrders 存储过程调用 Orders 信息表和 OrderContent 信息表中关于订单的信息。

Page 29: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

5 、订单详细信息页面中的数据绑定同订单列表页面中的绑定原理类似。订单详细信息页面加载时通过 GetOrderDetails() 函数获取数据库中订单的详细信息,并绑定到 DataGrid 控件上。为了使用 GetOrderDetails() 函数,要先定义 OrderDetails 类。

6 、在定义 OrderDetails 类后就可以在函数 GetOrderDetails() 中使用。7 、 GetOrderDetails() 函数调用 OrdersDetail 存储过程获取订单的详细信息,把所获取

的信息填充到 DataSet 数据集中,并利用存储过程的参数给 OrderDetails 类的对象myOrderDetails 赋值。

ALTER Procedure OrdersDetail( @OrderID int, @UserID int, @OrderDate datetime OUTPUT, @OrderTotalCost money OUTPUT)ASSELECT @OrderDate = OrderDateFROM

Page 30: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

OrdersWHERE OrderID = @OrderID AND UserID = @UserIDIF @@Rowcount = 1BEGINSELECT @OrderTotalCost = Cast(SUM(OrderContent.ProQuantity * OrderContent.UnitCost) as money)FROM OrderContentWHERE OrderID= @OrderIDSELECT Products.ProID, Products.ProName, Products.ProMarketPrice,

Page 31: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

动手做 动手做

OrderContent.UnitCost, OrderContent.ProQuantity, (OrderContent.ProQuantity * OrderContent.UnitCost) as ExtendedAmountFROM OrderContent INNER JOIN Products ON OrderContent.ProID = Products.ProIDWHERE OrderID = @OrderIDENDOrdersDetail 存储过程从订单信息表和订单详细信息表中获取商品的编号、商品名称、市

场价格、销售单价、订单中的购买数量以及最后的消费总额。至此,网络商城系统的基本功能已经实现。(注:针对各个模块的程序代码请参考教材!)

Page 32: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

做中检 做中检

检查学生是否能能够编写具有实际功能的网络商城的各个功能模块的程序代码块。

Page 33: 工作任务 21  编写程序代码

工作任务 21 :编写程序代码

退出上一页 下一页

怎么做

准备做

动手做

做中查

做后评

做什么

基于基于 C#C# 的的 SQL ServerSQL Server 应用应用开发开发

做中评 做中评

能对网络商城的各个模块代码编写有个清晰的认识和提升

能够熟悉用 C# 和数据库联合开发软件的流程和方法

Page 34: 工作任务 21  编写程序代码