asp.net购物车,订单以及模拟支付宝支付(三)---提交订单
2014-07-07 10:51
381 查看
在设计完订单表之后,就要整理一下订单处理的流程了
首先,用户在购物车界面点击结算的时候,跳到一个结算确认页面(这时候只是确认,让用户填写收货地址等,没有真正的下订单),显示用户的地址等信息和要买的物品,总价等,当用户点击确定的时候,调用存储过程下订单(向订单表和订单明细表插入数据,并删除相应的购物车项,这里用到事务和批量插入的sql语句),去网上支付
存储过程如下,mssql2005:
首先,用户在购物车界面点击结算的时候,跳到一个结算确认页面(这时候只是确认,让用户填写收货地址等,没有真正的下订单),显示用户的地址等信息和要买的物品,总价等,当用户点击确定的时候,调用存储过程下订单(向订单表和订单明细表插入数据,并删除相应的购物车项,这里用到事务和批量插入的sql语句),去网上支付
存储过程如下,mssql2005:
create proc pro_pay @orderId nvarchar(200),--订单号,这里是根据当前时间(精确到毫秒)+用户Id @userId int, --用户Id @address nvarchar(200),--收货地址 @totalPrice decimal(10, 2) output--输出参数,总金额 as --记录错误信息的变量 declare @error int set @error=0 --计算总价格 select @totalPrice=sum(UnitPrice*[Count]) from T_Car inner join T_Books on T_Car.BookId=T_Books.Id where UserId=@UserId --开始事务 begin transaction --插入主表 insert into T_Orders(Id,OrderDate,UserId,TotalPrice,[Address]) values(@orderId,getdate(),@UserId,@totalPrice,@address) set @error=@error+@@error --插入明细表 insert into T_OrderBook(OrderId,BookId,[Count],UnitPrice) select @orderId,BookId,[Count],UnitPrice from T_Car inner join T_Books on T_Car.BookId=T_Books.Id where UserId=@userId set @error=@error+@@error --删除购物车选项 delete from T_Car where UserId=@userId set @error=@error+@@error --完成事务 if(@error>0) begin rollback transaction end else begin commit transaction end调用完存储过程之后,就是跳转到支付宝支付了,需要说明的是,使用ado.net调用存储过程的时候会遇到一些问题,主要是要将SqlCommand的CommandType属性设置为CommandType.StoredProcedure,然后将存储过程名传入(之前不懂以为是要写exec+存储过程名,结果只要存储过程名就好了,是不是我太天真了= =。。。)
相关文章推荐
- asp.net购物车,订单以及模拟支付宝支付(三)---提交订单
- asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程
- asp.net购物车,订单以及模拟支付宝支付(二)---订单表
- asp.net购物车,订单以及模拟支付宝支付(四)---模拟支付宝支付
- asp.net购物车,订单以及模拟支付宝支付(四)---模拟支付宝支付
- asp.net购物车,订单以及模拟支付宝支付(二)---订单表
- asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程
- [转]一步一步asp.net_购物车订单与支付宝
- asp.net 里怎么防止用户模拟表单提交数据
- ASP.NET 2.0打造购物车和支付系统之二
- ASP.NET 2.0打造购物车和支付系统之一
- 黑马程序员_学习日记74_727ASP.NET(模拟Session、jsValidate异步验证表单、AjaxForm异步提交表单)
- HttpWebRequest -- Asp.net 代码内部 模拟提交页面获数据
- ASP.NET 2.0打造购物车和支付系统之一(1)
- php 模拟 asp.net webFrom 按钮提交事件
- php 模拟 asp.net webFrom 按钮提交事件的思路及代码
- ASP.NET 2.0打造购物车和支付系统之一
- asp.net里有多个按钮的提交问题。以及回车触发指定按钮事件的问题。
- ASP.NET 2.0打造购物车和支付系统之一