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

开发者社区> 夏春涛> 正文

.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

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
.NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)
6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)      【 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.
770 0
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
564 0
EventBus库传递数据
Android中数据传递使用较频繁,传递的方式也比较多,接口回调、广播、intent等等...,这介绍下EventBus库传递数据的使用。 大致流程:发布方发送事件-接收方注册EventBus,引入接收方法。
713 0
.NET数据库编程求索之路--5.使用ADO.NET实现(三层架构篇-使用List传递数据)(3)
5.使用ADO.NET实现(三层架构篇-使用List传递数据)(2)   作者:夏春涛 xchunta@163.com 转载请注明来源:http://www.cnblogs.com/SummerRain/archive/2012/07/26/2610957.
496 0
再不懂时序就 OUT 啦!,DBengine 排名第一时序数据库,阿里云数据库 InfluxDB 正式商业化!
阿里云数据库 InfluxDB® 版已于近日正式启动商业化 。 InfluxDB 是 DBengine 网站时序数据库类目排名第一的数据库产品,广泛应用于互联网基础资源监控,容器监控,业务运营监控分析,物联网设备远程实时监控,工业安全生产监控,生产质量评估和故障回溯。
3104 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(1)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(1)     7.1 解决方案框架 解决方案(.sln)包含以下几个项目: (1)类库项目HomeShop.DbUtility,数据访问实用工具; (2)类库项目HomeShop.
744 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)     7.3 数据访问层工厂HomeShop.DALFactory      1 using System; 2 using System.
891 0
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
标签 PostgreSQL , 只读 , 锁定 , readonly , recovery.conf , 恢复模式 , pg_is_in_revoery , default_transaction_read_only 背景 在一些场景中,可能要将数据库设置为只读模式。 例如, 1、云数据库,当使用的容量超过了购买的限制时。切换到只读(锁定)模式,确保用户不会用超。 2、业务上需要对
2266 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4) 7.7 业务逻辑层HomeShop.BLL OrderBiz.cs View Code  1 using System; 2 using System.
776 0
+关注
夏春涛
曾任教于信息工程大学16年,长期从事计算机软件与信息安全教学科研工作,目前任职于某软件公司从事技术管理工作,擅长架构设计、开发管理,对大数据、分布式颇感兴趣。
271
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载