【问题标题】:I want SqlCommand to return nothing, just do我希望 SqlCommand 不返回任何内容,只需执行
【发布时间】:2016-12-13 20:35:31
【问题描述】:

我有一个存储过程,它会根据用户的密码是否符合条件来做很多事情。我不需要它来返回任何东西。只需执行该过程。

我正在查看THIS,似乎所有Execute(blah) 扩展都返回了一些东西。 SqlCommand 是否有一个 Execute(blah) 只执行该过程并且不返回任何内容?

【问题讨论】:

  • ExecuteNonQuery() 将只返回您可以忽略的受影响的行数。反馈循环通常是一件好事。
  • ExecuteNonQuery 将执行查询并返回受影响行的数量。您可以在不分配返回值的情况下调用此方法。只是command.ExecuteNonQuery()
  • 我实际上正在使用它。好的。出色的!谢谢
  • 我不知道是否有更好的选择,或者 ExecuteNonQuery 是否是最好的。谢谢
  • 如果你们中的任何一个想回答,我会给它一个检查

标签: sql-server vb.net sqlcommand


【解决方案1】:

您可以使用ExecuteNonQuery。它将返回受影响的行数,只是不要分配它。

        using (var conn = new SqlConnection("YOUR CONNECTION STRING"))
        {
            using (var command = new SqlCommand("YOUR PROCEDURE NAME", conn))
            {
                command.CommandType = CommandType.StoredProcedure;
                conn.Open();
                command.ExecuteNonQuery();
            }
        }

【讨论】:

    【解决方案2】:

    我想您可能正在寻找“SET NOCOUNT”语句。

    https://msdn.microsoft.com/en-us/library/ms189837.aspx

    它阻止事务和存储过程返回有关它所做的额外消息。

    【讨论】:

    • 找不到网站
    • 再试一次,现在应该排序了。
    • 这样就进入了我的 SP。有趣
    猜你喜欢
    • 2012-08-25
    • 2020-05-17
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多