これは、ADODB
を使用しているときに、行数がストアドプロシージャからの出力として解釈されることによって引き起こされる一般的な問題です。 SQLServerを使用します。
これを回避するには、設定することを忘れないでください
SET NOCOUNT ON;
ストアドプロシージャでは、これによりADODBが閉じたレコードセットを返すのを停止します。または、何らかの理由でこれを実行したくない場合(常に@@ROWCOUNT
を使用できるため、理由はわかりません) 行数を戻すには)を使用できます
'Return the next recordset, which will be the result of the Stored Procedure, not
'the row count generated when SET NOCOUNT OFF (default).
Set rs = rs.NextRecordset()
次のADODB.Recordset
を返します ADODBがストアドプロシージャによって返されるものを検出した場合(rs.State <> adStateClosed
を確認するのが最適な場合があります 複数のADODB.Recordsetオブジェクトを処理する場合)。