2 taotaojue 01 taotaojue_01 于 2016.04.22 11:41 提问

SQL server 数据库@@Error变量值如何返回

其cmd的sql语句为:
private const string SQL_INSERT_ORDER = "Declare @ID int; Declare @ERR int;
INSERT INTO Orders VALUES(
@BillAddress1, @BillAddress2, @BillCity, @BillState, @BillZip, @BillCountry,(。。省略若干值。。) 'U');
SELECT @ID=@@IDENTITY; INSERT INTO OrderStatus VALUES(@ID, @ID, GetDate(), 'P'); SELECT @ERR=@@ERROR;";
INSERT INTO LineItem VALUES( "@ID, @LineNumber0,@ItemId0, @Quantity0,@Price0); SELECT @ERR=@ERR+@@ERROR;
我目前需要读出@ERR自定义变量的值,网上提供的c# 代码如下:
var cmd = new sqlcommand(..);
cmd.executenonquery();--先执行sql语句。
using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
//Read the returned @ERR
rdr.Read();
// If the error count is not zero throw an exception
if (rdr.GetInt32(1) != 0)
throw new ApplicationException("DATA INTEGRITY ERROR ON ORDER INSERT - ROLLBACK ISSUED");
}--读取@err值
问题来了: 程序说没有有效的数据读入,应该怎么改?

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.22 11:52

读取数据库数据返回SqlDataReader函数(SQL Server)
获取SQL SERVER数据库insert into操作的主键返回值
返回数据库数据DataSet函数(SQL Server)
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQLSERVER 错误返回代码含义一览
错误代码 说明 -2146824432 (0x800A0F10) 无法创建数据库 -2146824433 (0x800A0F0F) 此数据库中 Microsoft 表已损坏。 有关详细信息, 请参阅设备上 Pocket MicrosoftAccess 帮助 -2146824434 (0x800A0F0E) 字段是太小无法接受您试图添加数据量。 尝试插入或 pasting 少数据。 -214
如何收缩数据库
sql server如何收缩数据库,sql server如何收缩数据库,sql server如何收缩数据库
关于SQL Server2008 数据库的ADO操作的错误
我在做一个项目——wxWidgets开发其中涉及到数据库的开发。博主用的开发环境是VS2010,数据库是SQL Server2008。在进行ADO数据库编程时,数据库出现“连接数据库错误信息: IDispatch error #3084”,IDispatch error #3092”,IDispatch error #3119”不知何故。 到网上查询资料发现每个人说的不一样,最后只能自己摸索。经
exec (@sql) 接收返回值
关于sql exec返回的获取(常用常规动态SQL语句或者标量函数都可以) ----------------------------------------------------------------------------------------------------------------- declare @sql          nvarchar(1024) decla
Python连接Sqlserver数据库
1.因为其它的安装包我都已经安装好了,这里只下载pymssql依赖包 pip install pymssql 2.编写连接代码import os,pymssqlserver="#######"
sql server数据库中raiserror函数的用法1
sql server数据库中raiserror的作用就和asp.net中的throw new Exception一样,用于抛出一个异常或错误。这个错误可以被程序捕捉到。 raiserror的常用格式如下: raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下: RAISERROR ( { msg_
sqlserver中raiseerror函数的用法
server数据库中raiserror的作用就和asp.net中的throw new Exception一样,用于抛出一个异常或错误。这个错误可以被程序捕捉到。 raiserror的常用格式如下: raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下: [sql] view p
Mybatis + SqlServer 数据库操作insert 时获取当前主键值
直接贴代码: xml: useGeneratedKeys="false" keyProperty="ids"> insert into  table values() SELECT IDENT_CURRENT('table') AS id --说明:keyProperty:是返回Map的键,  AS id : 是把主键存在Map的键中。 接口: voi
sqlserver数据库主要监控参数
Processor:%Processor Time大于70%有问题 System:Processor Queue Length大于处理器数量的2倍有问题 Memory:Pages/Sec每秒从内存中分配磁盘或者从磁盘分页到内存的页数。不能一直大于1。 Memory:Available Bytes可用内存数,大于50MB。 Sql Server:BufferManger:Bu
C# catch 块中可以俘获 SQL Server 抛出的自定义异常(RAISERROR)(轉)
     對於數據庫這塊我基本上算是個文盲。今天看到別人的文章感覺還可以,雖對其中的原理不是很懂,但先學習一下。 原文如下:(代碼部分被自己的代碼取代) 在 SQL Server 的存储过程中根据业务逻辑的要求,有时需要抛出自定义异常,由C#程序俘获之并进行相应的处理。SQL Server 抛出自定义异常和简单,像这样就可以了:RAISERROR('Rais Error1', 16, 1) WITH NOWAIT但定用什么样的错误级别却很讲究,否则 C# 中的 catch 块可能俘获不到的。 SQL