首页 > 数据库技术 > 详细

SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据

时间:2018-10-19 15:54:18      阅读:195      评论:0      收藏:0      [点我收藏+]

ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢?

使用SQL Server内置的全局变量@@ROWCOUNT即可,@@ROWCOUNT可以返回在当前数据库连接(SqlConnection)中,执行的上一条SQL语句影响了多少行数据,使用示例如下所示:

INSERT INTO [dbo].[Person]([PersonCode],[Name],[Age],[City])
VALUES 
(NP8000,NHerry,50,NBeijing)
,(NP8001,NDan,50,NBeijing)
,(NP8002,NZen,52,NBeijing)
,(NP8003,NTim,52,NBeijing)
,(NP8004,NJhon,52,NBeijing)
SELECT @@ROWCOUNT--返回5

UPDATE [dbo].[Person]
SET [PersonCode]=[PersonCode]
SELECT @@ROWCOUNT--返回5

UPDATE [dbo].[Person]
SET [PersonCode]=[PersonCode]
WHERE [PersonCode] IN (NP8003,NP8004)
SELECT @@ROWCOUNT--返回2

DELETE FROM [dbo].[Person]
WHERE [PersonCode] IN (NP8003,NP8004,NP8001)
SELECT @@ROWCOUNT--返回3

DELETE FROM [dbo].[Person]
WHERE 1<>1
SELECT @@ROWCOUNT--返回0

SELECT * FROM [dbo].[Person]
SELECT @@ROWCOUNT--返回2

 

所以用ADO.NET执行INSERT,UPDATE,DELETE语句后,再使用查询SELECT @@ROWCOUNT查询出影响的行数返回给ADO.NET即可。不过要注意@@ROWCOUNT这个值要在INSERT/UPDATE/DELETE语句后立即获取,否则会被别的语句引响的行数代替,所以每次INSERT/UPDATE/DELETE后可以将它存入变量,等批处理结束后再RETURN

 

参考链接

 

SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据

原文:https://www.cnblogs.com/OpenCoder/p/9816693.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!