.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

 

 

目录
相关文章
|
3月前
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
69 2
|
3月前
|
传感器 数据采集 物联网
探索.NET nanoFramework:为嵌入式设备编程的新途径
探索.NET nanoFramework:为嵌入式设备编程的新途
65 7
|
3月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
53 2
|
3月前
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
76 5
|
5月前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
46 1
|
5月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
101 1
|
5月前
|
存储 C#
揭秘C#.Net编程秘宝:结构体类型Struct,让你的数据结构秒变高效战斗机,编程界的新星就是你!
【8月更文挑战第4天】在C#编程中,结构体(`struct`)是一种整合多种数据类型的复合数据类型。与类不同,结构体是值类型,意味着数据被直接复制而非引用。这使其适合表示小型、固定的数据结构如点坐标。结构体默认私有成员且不可变,除非明确指定。通过`struct`关键字定义,可以包含字段、构造函数及方法。例如,定义一个表示二维点的结构体,并实现计算距离原点的方法。使用时如同普通类型,可通过实例化并调用其成员。设计时推荐保持结构体不可变以避免副作用,并注意装箱拆箱可能导致的性能影响。掌握结构体有助于构建高效的应用程序。
147 7
|
5月前
|
Java Spring 自然语言处理
Spring 框架里竟藏着神秘魔法?国际化与本地化的奇妙之旅等你来揭开谜底!
【8月更文挑战第31天】在软件开发中,国际化(I18N)与本地化(L10N)对于满足不同地区用户需求至关重要。Spring框架提供了强大支持,利用资源文件和`MessageSource`实现多语言文本管理。通过配置日期格式和货币符号,进一步完善本地化功能。合理应用这些特性,可显著提升应用的多地区适应性和用户体验。
53 0
|
5月前
|
传感器 数据采集 物联网
探索未来:.NET nanoFramework引领嵌入式设备编程革新之旅
【8月更文挑战第28天】.NET nanoFramework 是一款专为资源受限的嵌入式设备设计的轻量级、高性能框架,基于 .NET Core,采用 C# 进行开发,简化了传统底层硬件操作的复杂性,极大提升了开发效率。开发者可通过 Visual Studio 或 Visual Studio Code 快速搭建环境并创建项目,利用丰富的库和驱动程序轻松实现从基础 LED 控制到网络通信等多种功能,显著降低了嵌入式开发的门槛。
98 0