SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据
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了多少行数据的更多相关文章
- 数据库--MyBatis的(insert,update,delete)三种批量操作
转自:http://blog.csdn.net/starywx/article/details/23268465 前段时间由于项目赶期没顾上开发过程中的性能问题,现对部分代码进行优化的过程中发现在数据 ...
- 执行SQL语句---INSERT/UPDATE/DELETE
1.执行SQL语句函数: int mysql_query(MYSQL* mysql, const char * query); query:所有的sql语句 2.例子: 向children表插入一条语 ...
- SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)
原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容 ...
- SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)
原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(C ...
- 解决SQL Server管理器无法连接远程数据库Error: 1326错误
解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...
- JDBC连接SQL server与ADO.NET连接Sql Server对比
JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet. 主流的有 ...
- 解决SQL Server管理器无法连接远程数据库的问题(转)
add by zhj: 本文最后那个数据库别名没搞明白,在我的测试中没有建别名,是可以的.远程登陆时,服务器名称: 服务器IP,端口号 (如223.42.155.248,52134 如果是默认端口号1 ...
- SQL Server 与 ADO.NET 数据类型映射
SQL Server 数据类型映射 .NET Framework 4.5 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decima ...
- sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案
对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQ ...
随机推荐
- 【JAVA】判断当前日期是否在时间点内
public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) { SimpleDateFormat ...
- JavaScript初探四
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Spring Boot 解决方案 - JUnit 测试
简单的 JUnit 项目 回顾一下创建并运行简单的 JUnit 测试项目,先添加 JUnit 依赖然后编写类似如下模板的测试类,使用 IDE 的话直接用插件运行就行, 使用 Maven 的话运行命令 ...
- 【杂谈】从CGI到Servlet
访问服务器的静态页面 每个Web服务器都运行着一个HTTP服务软件,用于响应web浏览器的请求,返回客户想要的页面.HTTP服务器都会有一个文件夹用于放置相关的页面文件,默认是 /user/loca ...
- JavaScript核心基础语法
1 什么是JavaScript? 是一种嵌入在网页中的程序段. 是一种解释型语言,被浏览器解释执行. 由Netscape发明,ECMA(欧洲计算机制造商协会)将其标准化. JavaScript借用了J ...
- UVA 11054 Wine trading in Gergovia(思维)
题目链接: https://vjudge.net/problem/UVA-11054 /* 问题 输入村庄的个数n(2=<n<=100000)和n个村庄的数值,正代表买酒,负代表卖酒,k个 ...
- OAuth2.0的理解&基础
此文章是复制黏贴网上文章的,主要做自己备用着看(也加了自己的一点见解),喜欢的读者也可以看. OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2 ...
- [转][MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
本文转自:https://blog.csdn.net/dingxiaowei2013/article/details/29405687 继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下 ...
- WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...
- Jquery 基本动画
1.三组基本的动画 显示:show .隐藏hide.滑入:slideUp.滑出:slideDown.滑入滑出切换:slideTpggle.淡入:fadeIn.淡出:fadeOut.淡入淡出切换:fad ...