【问题标题】:SqlHelper.ExecuteNonQuery returns -1 [duplicate]SqlHelper.ExecuteNonQuery 返回-1 [重复]
【发布时间】:2018-09-20 08:54:25
【问题描述】:

我已经存储了 proc,它根据几个条件返回各种整数。它没有任何 Select 语句。当我使用

SqlHelper.ExecuteNonQuery("ConString",CommandType.StoredProcedure,"ProcName")

此 ExecuteNonQuery 返回 -1。这里的-1 是什么意思?

【问题讨论】:

  • SqlHelper 是从哪里来的?它是你自己的课程吗,因为我在任何地方都找不到它的参考。也许看看该代码可能会对您有所帮助。
  • 你应该使用存储过程的输出参数。谷歌一下,你会发现:stackoverflow.com/questions/10905782/…
  • @Silvermind 它是我从 Github 下载的库 Sqlcommand 的包装器。

标签: c# sql-server ado.net


【解决方案1】:

假设SqlHelperSqlCommand 的包装器...

documentation 声明:

对于 UPDATE、INSERT 和 DELETE 语句,返回值是受命令影响的行数。当正在插入或更新的表上存在触发器时,返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也是-1。

因此,根据您的查询/过程,它要么:

  • 不是UPDATEINSERTDELETE 语句或不能影响任何行
  • 导致发生回滚

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-20
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 2020-01-25
    相关资源
    最近更新 更多