2

以下の SQL 更新を含む VB コードがあります。

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

別の変数/レコード セットで上記のクエリによって更新された行数を調べる必要があります。現在、選択クエリを使用して同じものを取得しています。しかし、EXECUTE などの VB 関数を使用してこれを実現する方法はありますか?

VB6.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 に答える