asp.net쇼핑카트, 주문 및 아날로그 알리페이 결제(3)---주문 제출

1518 단어 asp.net
주문서를 설계한 후, 주문 처리의 절차를 정리해야 한다.
우선, 사용자가 쇼핑 카트 인터페이스에서 결제를 클릭할 때 결제 확인 페이지(이때는 확인만 하고 수령 주소 등을 작성하게 하며 실제 주문을 하지 않는다)로 넘어가 사용자의 주소 등 정보와 사야 할 물품, 총 가격 등을 표시하고 사용자가 확인을 클릭할 때저장 프로세스를 호출하여 주문서(주문서와 주문명세서에 데이터를 삽입하고 해당하는 카트 항목을 삭제한다. 여기는 사무와 대량으로 삽입된 sql문구로 사용), 인터넷에 가서 지불한다.
저장 프로세스는 다음과 같습니다. mssql 2005:
4
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+저장 프로세스 이름을 쓸 줄 몰랐는데 결과적으로 저장 프로세스 이름만 있으면 됩니다. 제가 너무 순진한 거 아닙니까?=...)

좋은 웹페이지 즐겨찾기