基于C#中的类SqlCommand对象调用SQLServer存储过程时,存储过程执行成功,但是对象方法ExecuteNonQuery()返回-1
来源:互联网 发布:淘宝秒杀脚本 编辑:程序博客网 时间:2024/05/16 06:45
问题如题。
【下面是一个例子】
1、存储过程完成的功能是:插入insert一条记录,相同主键的记录存在时执行更新update的操作。存储过程正常执行的返回值是1.(不过本文提到的问题和这个返回值没关系。)
2、在另一个.cs文件中使用 SqlCommand对象 调用方法ExecuteNonQuery(),获取操作影响的行数。
【现象】
正常应该返回大于0的数,但是返回值却是 -1.
【解决】
存储过程中,多了一条语句:SET NOCOUNT ON;
该语句阻止存储过程返回信息中包含受影响行数的信息,以提高性能。
去掉该语句,标题提到的问题就解决了。
【备注】
这个问题比较low,只是被它坑了一小时,这里mark一下。关于SET NOCOUNT ON;的含义,可以参考:http://www.cnblogs.com/lmfeng/archive/2011/10/12/2208821.html
0 0
- 基于C#中的类SqlCommand对象调用SQLServer存储过程时,存储过程执行成功,但是对象方法ExecuteNonQuery()返回-1
- C#中的类SqlCommand对象使用方法ExecuteNonQuery()调用SQLServer存储过程时,存储过程执行成功,数据发生改变,但是返回-1
- 使用SqlCommand对象执行存储过程
- 通过SqlCommand对象调用存储过程
- SqlCommand执行存储过程
- SqlCommand调用存储过程
- SqlCommand调用存储过程
- SqlCommand对象-存储过程的使用
- SqlCommand对象-存储过程的使用
- c#调用SqlServer中的存储过程
- 调用存储过程对象
- c#执行sqlserver带返回参数的存储过程
- c#使用存储过程返回数据集(SqlCommand->DataSet)
- c#使用存储过程返回数据集(SqlCommand->DataSet)
- Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案
- ASP.NET基础教程-SqlCommand对象-存储过程的使用
- C#中用Oracle 执行存储过程返回DataSet报[ORA-08103: 对象不再存在]解决方案
- SqlDataAdapter利用SqlCommand执行存储过程
- 第13周、项目—验证算法 (3)
- Eclipse下安装Scala插件
- 计算机-英语学习
- Spring概述
- C#Winfrom如何测试当前设备是否处理联网状态。
- 基于C#中的类SqlCommand对象调用SQLServer存储过程时,存储过程执行成功,但是对象方法ExecuteNonQuery()返回-1
- MySQL 获得当前日期时间(以及时间的转换)
- 面向过程和面向对象比较
- 27-SVN commit error: “'.' is not a working copy”
- 【Android】设置EditText为仅输入数字且最多只能有两位数字
- DataTable 修改列名 删除列 调整列顺序
- 动态修改UINavigationBar的背景色
- JNA调用C语言动态链接库学习实践总结(指针模拟)
- AndroidIO编程