.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

 

 

目录
相关文章
|
1月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
187 3
|
12天前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统
|
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 关系型数据库
MySql数据库---存储过程
MySql数据库---存储过程
38 5
|
1月前
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
54 5
|
1月前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
|
1月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
1月前
|
数据库
Admin.Net根据域名自动选择数据库
Admin.Net根据域名自动选择数据库
18 0
|
2月前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
274 6
下一篇
无影云桌面