【问题标题】:ADODB affected rows return trigger's affected rowsADODB 受影响的行返回触发器的受影响行
【发布时间】:2011-11-21 08:48:23
【问题描述】:

我有一个运行命令文本来更新表的 VBA。该表在 UPDATE 上有一个触发器。 当我这样做时:

Set rs = cmd1.Execute(affectedCount)

affectedCount 从触发器返回受影响的行(我认为)。

如何让它返回原始更新语句的受影响行数?

【问题讨论】:

  • 哪个数据库 - MySQL、SQL Server?如果您添加适当的标签,您可能会得到更多的答案。
  • 查看更多代码会有所帮助。它是使用内联 SQL,还是调用存储过程?
  • 它使用 Access 2k3 前端和 SQL Server 2000 后端。
  • 它使用命令的方式是通过VBA中的CommandText并在代码中写入UPDATE语句。然后该命令如上执行。

标签: sql-server vba ado adodb


【解决方案1】:

假设您使用的是 SQL Server,不久前我遇到了类似的问题。我不确定它是否相关,但 ADODB 会被 SQL Server 生成的“# 个受影响的记录”消息“混淆”。

我们通过添加解决了这个问题

SET NOCOUNT ON

到受影响的触发器/程序的顶部来抑制消息。然后,您可以尝试从 SQL Management Studio 运行您的语句,以准确查看正在生成哪些“# 个受影响的记录”消息。

不知道这是否会有所帮助,但也许值得一试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    相关资源
    最近更新 更多