2

我有一个包含以下 SQL 更新的 VB 代码:

UPDATE table_A SET UPD_FLG = 'N' WHERE UPD_FLG = 'Y' 

我需要在单独的变量/记录集中找出上述查询更新的行数。目前我正在使用选择查询来获得相同的结果。但是有没有一种方法可以使用像 EXECUTE 这样的 VB 函数来完成呢?

我正在使用 VB 6.0

4

2 回答 2

1
   Set gCommand = New ADODB.Command
        gCommand.CommandType = adCmdText
        gCommand.CommandText = sSql1
        gCommand.ActiveConnection = gconDb
        gCommand.Execute (cnt)
于 2013-04-23T05:59:14.613 回答
0

为此,您可以对简单的程序进行如下操作:

CREATE PROCEDURE UpdateTables
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @RowCount1 INTEGER
    DECLARE @RowCount2 INTEGER
    DECLARE @RowCount3 INTEGER
    DECLARE @RowCount4 INTEGER

    UPDATE Table1 Set Column = 0 WHERE Column IS NULL
    SELECT @RowCount1 = @@ROWCOUNT
    UPDATE Table2 Set Column = 0 WHERE Column IS NULL
    SELECT @RowCount2 = @@ROWCOUNT
    UPDATE Table3 Set Column = 0 WHERE Column IS NULL
    SELECT @RowCount3 = @@ROWCOUNT
    UPDATE Table4 Set Column = 0 WHERE Column IS NULL
    SELECT @RowCount4 = @@ROWCOUNT

    SELECT @RowCount1 AS Table1, @RowCount2 AS Table2, @RowCount3 AS Table3, @RowCount4 AS Table4
END

参考:

返回受 UPDATE 语句影响的行数

或者

如何获取受存储过程影响的记录数?

在 VB 中使用此过程:

http://www.dbforums.com/microsoft-sql-server/993294-how-get-return-value-number-rows-affected-update-command.html

于 2013-04-23T04:49:47.713 回答