
做购物车系统时利用到得几个sqlserver 存储过程

即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继续购物,则将cookies购物车存入数据库;
其中涉及到的存储过程主要如下:
一:已登录会员添加商品到购物车功能:
代码如下:
/* @store_sum表示要添加的商品数量,添加同时确认购物车中自己已有的数量与将要加入的数量之和是否超过库存 */
CREATE proc ncp_Cart_Add
(
@store_id int,
@store_sum int=1,
@member_id int
)
as
DECLARE @Amount int
DECLARE @NowAmount int
Begin
select @Amount=(select amount from ncp_store where id=@store_id)
IF EXISTS(SELECT 1 FROM [ncp_cart] WHERE store_id=@store_id and member_id=@member_id)
Begin
select @NowAmount=(select store_sum+@store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
UPDATE [ncp_cart] SET store_sum=store_sum+@store_sum,addtime=getDate() where store_id=@store_id and member_id=@member_id
return 1
End
ELSE
Begin
select @NowAmount=(select store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
INSERT INTO [ncp_cart](store_id,store_sum,member_id) values(@store_id,@store_sum,@member_id)
return 1
END
End
GO
二:购物车的删除功能
/* type 为1是全部删 0时只删一个 */
CREATE PROCEDURE ncp_Cart_Del
@type int=0,
@store_id int ,
@member_id int
AS
begin
if @type=0
delete from [ncp_cart] where store_id=@store_id and member_id=@member_id
else
delete from [ncp_cart] where member_id=@member_id
End
GO
相关推荐
-
做购物车系统时利用到得几个sqlserver 存储过程
即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继续购物,则将cookies购物车存入数据库: 其中涉及到的存储过程主要如下: 一:已登录会员添加商品到购物车功能: 复制代码 代码如下: /* @store_sum表示要添加的商品数量,添加同时确认购物车中自己已有的数量与将要加入的数量之和是否超过库存 */ CREATE proc ncp_Cart_Add ( @store_id int, @store_s
-
使用MongoDB和JSP实现一个简单的购物车系统实例
本文介绍了JSP编程技术实现一个简单的购物车程序,具体如下: 1 问题描述 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来获取用户提交的登录信息并查询数据库,如果用户名为本小组成员的名字且密码为对应的学号时,采用JSP内置对象的方法跳转到订购页面(显示店中商品的种类和单价等目录信息):否则采用JSP动作提示用户重新登录(注:此页面上要包含前面的登录界面). (3
-
VMware Workstation/Fusion 中安装 Fedora 23/24 及其他 Linux 系统时使用 Open VM Tools 代替 VMware Tools 增强工具的方法
VMware Workstation/Fusion 分别是 Windows/Linux 和 macOS 下面对应的桌面虚拟化软件.过去,在 VMware 中安装了操作系统虚拟机后,需要在虚拟机中再安装 VMware Tools 增强工具用来实现宿主机和虚拟机之间的文件共享.虚拟机显示分辨率自适应调节.虚拟机显示能力增强及 3D 加速等功能. 但随着 Linux 系统内核及周边环境的不断发展,目前 VMware 已经不再推荐在 Linux 虚拟机中安装 VMware 官方的增强工具了,转而推荐用户
-
做文章系统时, 如何让长篇的文章自动换行
做文章系统时, 如何让长篇的文章自动换行 这个问题曾经有很多人提及的,根据网上的解决方法可是导致英文词语被拆散换行 网上大多数文章的说法,只要在CSS中加入: table { table-layout:fixed; word-break:break-all; word-wrap:break-word; } div { word-break:break-all; word-wrap:break-word; } 就可以解决表格和层被撑破,最初我也是这样做的.不过这样的代码会造成一
-
详解安装Ubuntu Linux系统时硬盘分区最合理的方法
无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在装系统的经验谈谈安装Ubuntu Linux系统时硬盘分区最合理的方法. 在讲硬盘分区之前,我先来普及一下硬盘的相关分类,硬盘一般分为IDE硬盘.SCSI硬盘和SATA硬盘三种,在Linux系统中,IDE接口的硬盘被称为hd,SCSI和SATA接口的硬盘则被称为sd,其中IDE硬盘基本上已经淘汰,现在
-
java关于list集合做删除操作时的坑及解决
目录 关于list集合做删除操作时的坑 解决办法 对List集合的常用操作 1.list中添加,获取,删除元素 2.list中是否包含某个元素 3.list中根据索引将元素数值改变(替换) 4.list中查看(判断)元素的索引 5.根据元素索引位置进行的判断 6.利用list中索引位置重新生成一个新的list(截取集合) 7.对比两个list中的所有元素 8.判断list是否为空 9.返回Iterator集合对象 10.将集合转换为字符串 11.将集合转换为数组 12.集合类型转换 13.去重复
-
电脑安装windows与Centos双系统时引发问题小结
电脑装双系统时,首先要安装windows系统,在硬盘中划分一块空闲的分区,用来安装centos系统(可以借助"软碟通"用来安装). 当centos系统装完后,重起电脑此时发现系统无法选择进入windows,这是centos系统安装完成后把mbr引导改写成为grub2引导,而centos不识别windows的ntfs分区,所以启动项没有windows. 解决办法:首先保证电脑可以连接互联网,在centos系统中输入以下命令 yum -y install epel-release yum
-
用系统自带工具在安装系统时给新硬盘分区图解_图解硬盘分区
用系统自带工具在安装系统时给新硬盘分区图解 screen.width-461) window.open('/upload/20071011135718630.jpg');" src="http://files.jb51.net/upload/20071011135718630.jpg" border=0> screen.width-461) window.open('/upload/20071011135719793.jpg');" src="htt
-
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法.分享给大家供大家参考.具体如下: 一.问题描述: ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype(). 二.解决方法: 出现这个错误就是php.in 配置问题,打开即可:打开扩展 exten
-
C#实现在购物车系统中生成不重复订单号的方法
本文实例讲述了C#实现在购物车系统中生成不重复订单号的方法.分享给大家供大家参考.具体分析如下: 订单号在购物过程中起到了很好的识别作用,更方便的有利于工作人员识别商品,代码如下: #region 生成单据号 /// <summary> /// 生成单据号 /// </summary> /// <param name="pFromType"></param> /// <returns></returns> publ
随机推荐
- java Quartz定时器任务与Spring task定时的几种实现方法
- JavaScript实现带标题的图片轮播特效
- 全面解析vue中的数据双向绑定
- java结合WebSphere MQ实现接收队列文件功能
- JS实现的点击表头排序功能示例
- "PageMethods未定义"或"对象不支持此属性或方法"解决方法分享
- Python多线程学习资料
- 浅析MYSQL REPEATABLE-READ隔离级别
- 纯js实现瀑布流展现照片(自动适应窗口大小)
- 如何创建一个JavaScript弹出DIV窗口层的效果
- 简单的JS时钟实例讲解
- 註冊必須填性別&生日 For Discuz 6.0 更改方法
- Android编程开发之ScrollView嵌套GridView的方法
- Hibernate原理及应用
- Android UI组件LinearLayout线性布局详解
- VC++实现CStdioFile写入及读取文件并自动换行的方法
- Android中GridView布局实现整体居中方法示例
- Android Studio导入so文件到项目中的实例详解
- Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
- Python 实现删除某路径下文件及文件夹的实例讲解
其他
- nuxt打包后绝对路径访问不到
- python判断五个值有几个不为空的
- 如何查看pytorch 版本
- python opencv 帧间差分
- flutter 支付界面
- HandlerThread 属性动画
- 安卓连接ESC/POS 热敏打印机打印图片乱码
- jupyternotebook 如何清空输出
- Android 自定义view 标尺滑动控件
- vue下拉搜索框模糊远程查询
- C# 接口 如何获取对方调用body
- 音乐播放器制作流程 android
- vue3 keep-alive include 动态路由
- python for循环 倒序
- jfinal执行存储过程,获取返回值
- python 按照时间整合数据
- vue watch 失去焦点
- python tkinter中如何从一个页面跳转另一页面
- java Restful API发布与调用
- postman入参list