首页 > 数据库技术 > 详细

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

时间:2018-10-19 15:54:18      阅读:201      评论: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 
(N‘P8000‘,N‘Herry‘,50,N‘Beijing‘)
,(N‘P8001‘,N‘Dan‘,50,N‘Beijing‘)
,(N‘P8002‘,N‘Zen‘,52,N‘Beijing‘)
,(N‘P8003‘,N‘Tim‘,52,N‘Beijing‘)
,(N‘P8004‘,N‘Jhon‘,52,N‘Beijing‘)
SELECT @@ROWCOUNT--返回5

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

UPDATE [dbo].[Person]
SET [PersonCode]=[PersonCode]
WHERE [PersonCode] IN (N‘P8003‘,N‘P8004‘)
SELECT @@ROWCOUNT--返回2

DELETE FROM [dbo].[Person]
WHERE [PersonCode] IN (N‘P8003‘,N‘P8004‘,N‘P8001‘)
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 版权所有
打开技术之扣,分享程序人生!