码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-10-19 16:06:50      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:语句   执行   获取   blank   多少   怎么   ado.net   select   行数据   

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了多少行数据

标签:语句   执行   获取   blank   多少   怎么   ado.net   select   行数据   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!