小编cof*_*ase的帖子

回滚后返回ExecuteNonQuery的值

假设我们有一个存储过程就像这样:

BEGIN TRANSACTION
    UPDATE sometable SET aField = 0 WHERE anotherField = 1;       
    UPDATE sometable SET aField = 1 WHERE anotherField = 2;
ROLLBACK TRANSACTION;
Run Code Online (Sandbox Code Playgroud)

从C#我们有这样的事情:

using (var connection = new SqlConnection("connection string")) 
{
    connection.Open();
    var cmd = connection.CreateCommand();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "my_procedure";
    var res = cmd.ExecuteNonQuery();                
}
Run Code Online (Sandbox Code Playgroud)

为什么我没有得到res == -1?我仍然得到受影响的行数.当文档声明"如果发生回滚,返回值也为-1"

我在这里缺少什么?

.net c# stored-procedures sqlclient

17
推荐指数
1
解决办法
3059
查看次数

标签 统计

.net ×1

c# ×1

sqlclient ×1

stored-procedures ×1