asp.net购物车,订单以及模拟支付宝支付(三)---提交订单

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37501435 在...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37501435

在设计完订单表之后,就要整理一下订单处理的流程了

首先,用户在购物车界面点击结算的时候,跳到一个结算确认页面(这时候只是确认,让用户填写收货地址等,没有真正的下订单),显示用户的地址等信息和要买的物品,总价等,当用户点击确定的时候,调用存储过程下订单(向订单表和订单明细表插入数据,并删除相应的购物车项,这里用到事务和批量插入的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+存储过程名,结果只要存储过程名就好了,是不是我太天真了= =。。。)


相关文章
|
6月前
|
Java PHP 开发工具
支付宝记---电脑网站支付(.NET)
支付宝记---电脑网站支付(.NET)
132 1
|
前端开发 数据库
.Net MVC订单后台管理系统源码编码过程(2)
.Net MVC订单后台管理系统源码编码过程(2)
144 0
.Net MVC订单后台管理系统源码编码过程(2)
|
SQL 开发框架 前端开发
.Net MVC订单后台管理系统源码编码过程(1)
.Net MVC订单后台管理系统源码编码过程(1)
163 0
.Net MVC订单后台管理系统源码编码过程(1)
|
JSON 前端开发 数据可视化
.NET轻松实现支付宝服务窗网页授权并获取用户相关信息
.NET轻松实现支付宝服务窗网页授权并获取用户相关信息
160 0
.NET轻松实现支付宝服务窗网页授权并获取用户相关信息
|
JSON PHP 数据格式
支付宝预授权.net版接口请求示例
download:支付宝预授权PHP版.zip说明: 本帖是.net开发语言测试支付宝预授权的请求示例,仅供参考!!    一、下载demo: Java版:download:支付宝预授权Java版.zip PHP版:download:支付宝预授权PHP版.
834 0
如何使用沙箱测试单笔转账到支付宝(.net版)
说明: 本帖是利用支付宝沙箱测试“单笔转账到支付宝账户”,demo中会配置个人的沙箱账号信息,方便大家测试。 测试环境:visual studio 2010及以上+.NET framework 3.5及以上  注意事项:  1.目前仅支持账户余额渠道付款。
972 0
|
前端开发 .NET 数据库
asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37499113 在...
1048 0
|
.NET
asp.net购物车,订单以及模拟支付宝支付(二)---订单表
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37500813 购...
841 0
|
前端开发 JavaScript .NET
一起谈.NET技术,ASP.NET MVC2实现分页和右键菜单
  右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单。本文还将介绍一下在asp.net mvc中如何实现简单的分页。效果如下图:   首先,下载此插件。
1011 1
|
前端开发 NoSQL .NET
一起谈.NET技术,重构TekPub——从ASP.NET MVC框架迁移到Ruby on Rails
  TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及。
1636 0