.NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)

简介: 6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)      【 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.

6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)

 

 

 【 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.com/SummerRain

 

6.3 存储过程

 

Order相关:

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单新增
 5  --  =============================================
 6  CREATE  PROCEDURE Order_Insert
 7      @OrderID  int output,
 8      @OrderTime  datetime,
 9      @OrderStateCode  char( 1),
10      @CustomerName  varchar( 30),
11      @CustomerPhoneNo  varchar( 15),
12      @CustomerAddress  varchar( 60)
13  AS
14  BEGIN
15      INSERT  INTO  [ Order ](
16          [ OrderTime ],
17          [ OrderStateCode ],
18          [ CustomerName ],
19          [ CustomerPhoneNo ],
20          [ CustomerAddress ])
21      VALUES(
22          @OrderTime,
23          @OrderStateCode,
24          @CustomerName,
25          @CustomerPhoneNo,
26          @CustomerAddress)
27      SET  @OrderID  =  SCOPE_IDENTITY() 
28  END

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单删除
 5  --  =============================================
 6  CREATE  PROCEDURE Order_Delete
 7      @OrderID  int
 8  AS
 9  BEGIN
10      begin  tran MyTran  -- 事务开始
11 
12          DELETE  FROM  [ OrderItem ]
13          WHERE  [ OrderID ]  =  @OrderID
14                                
15          DELETE  FROM  [ Order ]
16          WHERE  [ OrderID ]  =  @OrderID 
17     
18      -- 事务回滚或提交
19       if ( @@ERROR  <>  0
20          rollback  tran MyTran
21      else
22          commit  tran MyTran
23 
24  END

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单查询
 5  --  =============================================
 6  CREATE  PROCEDURE Order_Select
 7      @predicate  varchar( 200-- 查询条件
 8  AS
 9  BEGIN
10      declare  @sql  varchar( 1000)
11      set  @sql  =  ' SELECT [OrderID],
12                         [CustomerName],
13                         [CustomerPhoneNo],
14                         [CustomerAddress],
15                         [OrderTime],
16                         [OrderStateCode],
17                         [OrderState].[Name] AS [OrderStateName]
18                  FROM [Order]
19                  LEFT OUTER JOIN [OrderState]
20                  ON [Order].[OrderStateCode] = [OrderState].[Code] ';
21      if ( ltrim( rtrim( @predicate))) != '' 
22          set  @sql  =  @sql  +  '   WHERE   '  +  @predicate;
23      set  @sql  =  @sql  +  '  ORDER BY [OrderID] DESC  ';
24 
25      print( @sql)
26 
27      exec( @sql)
28  END

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单更新
 5  --  =============================================
 6  CREATE / ALTER  PROCEDURE Order_Update
 7      @OrderID  int,
 8      @OrderTime  datetime,
 9      @OrderStateCode  char( 1),
10      @CustomerName  varchar( 30),
11      @CustomerPhoneNo  varchar( 15),
12      @CustomerAddress  varchar( 60)
13  AS
14  BEGIN
15      UPDATE  [ Order ]
16      SET  [ OrderTime ]  =  @OrderTime,
17          [ OrderStateCode ]  =  @OrderStateCode,
18          [ CustomerName ]  =  @CustomerName,
19          [ CustomerPhoneNo ]  =  @CustomerPhoneNo,
20          [ CustomerAddress ]  =  @CustomerAddress
21      WHERE  [ OrderID ]  =  @OrderID
22  END

 

OrderItem相关:

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 新增订单详情
 5  --  =============================================
 6  ALTER  PROCEDURE  [ dbo ]. [ OrderItem_Insert ]
 7      @OrderItemID  int output,
 8      @OrderID  int,
 9      @Product  varchar( 30),
10      @UnitPrice  decimal( 18, 2),
11      @Quantity  int
12  AS
13  BEGIN
14      INSERT  INTO  [ OrderItem ](
15          [ OrderID ],
16          [ Product ],
17          [ UnitPrice ],
18          [ Quantity ])
19      VALUES
20          @OrderID,
21          @Product,
22          @UnitPrice,
23          @Quantity)
24 
25      SET  @OrderItemID  =  SCOPE_IDENTITY() 
26  END

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 删除订单详情
 5  --  =============================================
 6  CREATE  PROCEDURE OrderItem_Delete
 7      @OrderItemID  int
 8  AS
 9  BEGIN
10      DELETE  FROM  [ OrderItem ]
11      WHERE  [ OrderItemID ]  =  @OrderItemID
12  END

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单详情查询
 5  --  =============================================
 6  CREATE  PROCEDURE OrderItem_Select
 7      @OrderID  int
 8  AS
 9  BEGIN
10      SELECT  [ OrderItemID ],
11             [ OrderID ],
12             [ Product ],
13             [ UnitPrice ],
14             [ Quantity ]
15      FROM  [ OrderItem ]
16      WHERE  [ OrderID ]  =  @OrderID
17  END

 

 

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 更新订单详情
 5  --  =============================================
 6  CREATE  PROCEDURE OrderItem_Update
 7      @OrderItemID  int,
 8      @OrderID  int,
 9      @Product  varchar( 30),
10      @UnitPrice  decimal( 18, 2),
11      @Quantity  int
12  AS
13  BEGIN
14      UPDATE  [ OrderItem ]
15      SET  [ OrderID ]  =  @OrderID,
16          [ Product ]  =  @Product,
17          [ UnitPrice ]  =  @UnitPrice,
18          [ Quantity ]  =  @Quantity
19      WHERE  [ OrderItemID ]  =  @OrderItemID
20  END

 

OrderState相关:

 

 1  --  =============================================
 2  --  创 建 人: 夏春涛
 3  --  创建时间: 2011-12-31
 4  --  功能描述: 订单状态查询
 5  --  =============================================
 6  CREATE  PROCEDURE OrderState_Select
 7  AS
 8  BEGIN
 9      SELECT  *  FROM  [ OrderState ]
10      ORDER  BY  [ Code ]
11  END

 

 

数据库文件:/Files/SummerRain/NetDbDevRoad/HomeShopDB.rar

完整源代码:/Files/SummerRain/NetDbDevRoad/6使用ADONET实现三层架构ListSP.rar

 

 

目录
相关文章
|
10天前
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
31 8
|
11天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
97 7
|
11天前
|
数据采集 搜索推荐 数据管理
数据架构 CDP 是什么?
数据架构 CDP 是什么?
36 2
|
1月前
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
52 2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
|
1月前
|
传感器 数据采集 物联网
探索.NET nanoFramework:为嵌入式设备编程的新途径
探索.NET nanoFramework:为嵌入式设备编程的新途
42 7
|
1月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
40 2
|
1月前
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
54 5
|
1月前
|
存储 大数据 数据处理
洞察未来:数据治理中的数据架构新思维
数据治理中的数据架构新思维对于应对未来挑战、提高数据处理效率、加强数据安全与隐私保护以及促进数据驱动的业务创新具有重要意义。企业需要紧跟时代步伐,不断探索和实践新型数据架构,以洞察未来发展趋势,为企业的长远发展奠定坚实基础。
|
2月前
|
存储 搜索推荐 数据库
MarkLogic在微服务架构中的应用:提供服务间通信和数据共享的机制
随着微服务架构的发展,服务间通信和数据共享成为关键挑战。本文介绍MarkLogic数据库在微服务架构中的应用,阐述其多模型支持、索引搜索、事务处理及高可用性等优势,以及如何利用MarkLogic实现数据共享、服务间通信、事件驱动架构和数据分析,提升系统的可伸缩性和可靠性。
49 5
|
2月前
|
存储 数据库 Python
python的对象数据库ZODB的使用(python3经典编程案例)
该文章介绍了如何使用Python的对象数据库ZODB来进行数据存储,包括ZODB的基本操作如创建数据库、存储和检索对象等,并提供了示例代码。
46 0
下一篇
无影云桌面