论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

网上鲜花销售系统的设计(论文+程序)

6.2用户登录与注册

当已经注册过的用户输入其用户名以及密码单击登录按钮便可以登录,但如果为新用户,单击注册按钮,在下一个页面中输入信息后再单击注册按钮后便可成为注册用户。

paper51.com

用户登录主要实现过程:通过spUserLogin存储过程获得UserID,作为用户ID,在通过GetShoppingCartID()获得TempCartID,之后再调用一个存储过程spShoppingCartMigrate将购物车合并。用户注册的实现过程与用户登录的实现过程基本上一样。 copyright paper51.com

主要代码如下:

内容来自www.paper51.com

用户登录

内容来自www.paper51.com

if (Page.IsValid)

http://www.paper51.com

           { http://www.paper51.com

               String ID = da.spUserLogin(tbUserName.Text.Trim(),tbPassword.Text.Trim()); 内容来自论文无忧网 www.paper51.com

               if (ID != null) http://www.paper51.com

               {

http://www.paper51.com

                   String TempCartID = da.GetShoppingCartID(); 内容来自论文无忧网 www.paper51.com

                   // 将当前临时的购物车清单转换到登录用户名下 paper51.com

                   da.spShoppingCartMigrate(TempCartID, ID); 内容来自www.paper51.com

                   // 保存登录用户Cookies 内容来自论文无忧网 www.paper51.com

                   Response.Cookies["ShoppingCartUser"].Value = tbUserName.Text.Trim();

内容来自www.paper51.com

                   // 重定向浏览器到目标页面

copyright paper51.com

                   FormsAuthentication.RedirectFromLoginPage(ID, false);

http://www.paper51.com

               } 内容来自论文无忧网 www.paper51.com

               else 内容来自www.paper51.com

               { paper51.com

                   da.Alert("用户名或密码错误!");

paper51.com

               } 内容来自www.paper51.com

           } paper51.com

其中调用了两个存储过程:spUserLogin, spShoppingCartMigrate

paper51.com

CREATE PROCEDURE  dbo.spUserLogin

内容来自www.paper51.com

(

copyright paper51.com

       @UserName CHAR(10), http://www.paper51.com

@Password CHAR(10),

http://www.paper51.com

@UserID INT OUTPUT

copyright paper51.com

)

copyright paper51.com

AS 内容来自论文无忧网 www.paper51.com

SELECT  @UserID = UserID  FROM  Users

内容来自www.paper51.com

WHERE  UserName = @UserName

内容来自www.paper51.com

AND  Password = @Password 内容来自www.paper51.com

IF @@Rowcount < 1

copyright paper51.com

SELECT  @UserID = 0 copyright paper51.com

GO

http://www.paper51.com

CREATE PROCEDURE  dbo.spShoppingCartMigrate

paper51.com

(

内容来自论文无忧网 www.paper51.com

          @OldCartID VARCHAR(50),

内容来自www.paper51.com

          @NewCartID VARCHAR(50) http://www.paper51.com

) 内容来自www.paper51.com

AS

内容来自www.paper51.com

UPDATE  ShoppingCart 

内容来自论文无忧网 www.paper51.com

SET  CartID = @NewCartID  WHERE  CartID = @OldCartID

paper51.com

GO paper51.com

用户注册的实现代码: 内容来自论文无忧网 www.paper51.com

         if (Page.IsValid) paper51.com

                  { copyright paper51.com

                         //保存旧的购物车编号,以便注册后合并购物车 内容来自论文无忧网 www.paper51.com

                           StringTempCartID = da.GetShoppingCartID();

copyright paper51.com

               //添加用户信息到数据库 内容来自www.paper51.com

String UserID = da.AddUser(tbUserName.Value,tbPassword.Value,

copyright paper51.com

tbAddress.Value, tbPostCode.Value, tbTelephone.Value); http://www.paper51.com

                         if (UserID != "")

copyright paper51.com

                         { copyright paper51.com

                                //将用户ID指定为通过安全登录的信息 http://www.paper51.com

                               FormsAuthentication.SetAuthCookie(UserID,false);

http://www.paper51.com

                                //合并购物车 内容来自论文无忧网 www.paper51.com

                               da.spShoppingCartMigrate(TempCartID,UserID);

内容来自www.paper51.com

                                //将用户姓名保存到Cookies中

copyright paper51.com

      Response.Cookies["UserName"].Value= Server.HtmlEncode(tbUserName.Value.Trim());

paper51.com

                   //重定向到购物车界面

paper51.com

                               Response.Redirect("shopcart.aspx");

http://www.paper51.com

                         } copyright paper51.com

                         else

http://www.paper51.com

                         {

copyright paper51.com

                                   da.Alert("该用户名已被注册!");

copyright paper51.com

               } 内容来自www.paper51.com

           } copyright paper51.com

调用了一个存储过程spShoppingCartMigrate. copyright paper51.com

CREATE PROCEDURE dbo.spShoppingCartMigrate 内容来自论文无忧网 www.paper51.com

( http://www.paper51.com

@OldCartID VARCHAR(50), @NewCartIDVARCHAR(50) paper51.com

) paper51.com

AS

copyright paper51.com

UPDATE   ShoppingCart http://www.paper51.com

SET  CartID = @NewCartID  WHERE   CartID = @OldCartID 内容来自论文无忧网 www.paper51.com

GO

http://www.paper51.com

在用户注册的时候需要输入电话号码,电话号码采用了一个正则表达式,只有输入正确的格式才能注册,否则将提示错误信息。 内容来自www.paper51.com

主要代码如下: 内容来自www.paper51.com

ValidationExpression="\(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8}

http://www.paper51.com

|\(0\d{3}\)[- ]?\d{7}|0\d{3}[- ]?\d{7} paper51.com

|13\d{9}|159\d{8}” paper51.com

6.3注销

copyright paper51.com

用户可以变化身份登录,主要采取的方法是用户注销,再重新以另外一种身份登录。

copyright paper51.com

注销的实现过程:通过调用.NET的一个控件FormsAuthentication.SignOut()来完成。 copyright paper51.com

主要代码如下: 内容来自论文无忧网 www.paper51.com

protectedvoid btnLogout_Click(object sender, EventArgs e)

http://www.paper51.com

        { copyright paper51.com

           FormsAuthentication.SignOut();

http://www.paper51.com

           Response.Redirect("index.aspx"); copyright paper51.com

        } http://www.paper51.com

6.4下订单 paper51.com

客户在购物车的页面中填完送货地址、邮编及电话后按保存按钮可以下订单,在管理页面中点击查看订单详情可以查看所下订单,如图10,11所示。

copyright paper51.com

主要实现过程:1)获取当前用户的OrderID http://www.paper51.com

             2)利用ShoppingCart表和Flower表的内联接,将当前用户的当前购物车复制到当前所产生的订单详情中 paper51.com

             3)利用OrderDetails表和Flower表的内联接,扣除Flower表中的鲜花库存

http://www.paper51.com

             4)调用另一存储过程spShoppingCartEmpty将购物车清空 内容来自论文无忧网 www.paper51.com

paper51.com

图10 下订单

copyright paper51.com

copyright paper51.com

图11 订单详情

内容来自www.paper51.com

主要代码如下: 内容来自www.paper51.com

CREATE PROCEDURE dbo.spOrdersInsert copyright paper51.com

( copyright paper51.com

                 @UserID  INT,  @CartID   NVARCHAR(50), paper51.com

                 @Address  VARCHAR(50),  @PostCode  CHAR(10), http://www.paper51.com

                 @Telephone  VARCHAR(50),@OrderID   INT OUTPUT

内容来自论文无忧网 www.paper51.com

) 内容来自www.paper51.com

AS

http://www.paper51.com

BEGIN TRAN OrdersInsert  /* 产生订单 */

内容来自论文无忧网 www.paper51.com

INSERT INTO Orders copyright paper51.com

(

paper51.com

              UserID, Address, PostCode, Telephone, OrderDate

paper51.com

) http://www.paper51.com

VALUES 内容来自www.paper51.com

(

paper51.com

               @UserID,@Address, @PostCode, @Telephone

paper51.com

              GETDATE()

http://www.paper51.com

)

paper51.com

-- 返回当前所产生的OrderID

http://www.paper51.com

SELECT @OrderID = @@Identity

paper51.com

/* 将当前用户的当前购物车复制到当前所产生的订单详情中*/ paper51.com

INSERT INTO OrderDetails copyright paper51.com

( http://www.paper51.com

               OrderID, FlowerID, Quantity

内容来自论文无忧网 www.paper51.com

)

paper51.com

SELECT OrderID, ShoppingCart.FlowerID, Quantity http://www.paper51.com

FROM ShoppingCart  INNER JOIN

内容来自论文无忧网 www.paper51.com

Flower ON  ShoppingCart.FlowerID = Flower.FlowerID

http://www.paper51.com

WHERE CartID = @CartID paper51.com

/*扣除相应的库存鲜花数量*/

内容来自www.paper51.com

UPDATE Flower

http://www.paper51.com

SET FlowerStock = FlowerStock - OrderDetails.Quantity paper51.com

FROM OrderDetails INNER JOIN copyright paper51.com

Flower ON OrderDetails.FlowerID =Flower.FlowerID paper51.com

WHERE OrderDetails.OrderID = @OrderID 内容来自论文无忧网 www.paper51.com

/* 完成后, 调用另一存储过程spShoppingCartEmpty copyright paper51.com

清空当前购物车ID的所有明细*/ 内容来自www.paper51.com

EXEC spShoppingCartEmpty @CartID

paper51.com

COMMIT TRAN OrdersInsert

内容来自www.paper51.com

GO 内容来自论文无忧网 www.paper51.com

其中调用了一个存储过程spShoppingCartEmpty 内容来自论文无忧网 www.paper51.com

主要代码如下:

copyright paper51.com

CREATE Procedure spShoppingCartEmpty

内容来自论文无忧网 www.paper51.com

( paper51.com

                   @CartID nvarchar(50) http://www.paper51.com

) paper51.com

AS

copyright paper51.com

DELETE FROM ShoppingCart

http://www.paper51.com

WHERE CartID = @CartID

copyright paper51.com

GO

paper51.com

6.5撤消订单

copyright paper51.com

客户可以在规定的时间内将自己所下的订单撤消,如图12。

paper51.com

主要实现过程:将Orders表中的Dispatched值设置为1,因为系统的默认为0,0表示未发货,1代表已发货,如果已经发了货,自然就相当于将订单删除。 paper51.com

copyright paper51.com

图12 撤消订单 内容来自论文无忧网 www.paper51.com

 

copyright paper51.com

------分隔线----------------------------
联系方式