私はまったくの VBScript 初心者で、ストアド プロシージャを実行して結果セットを読み取ろうとしています。オンラインの記事を使用してさまざまなアプローチを試みましたが、何も機能せず、困惑しています。データベースは SQL Server 2008 R2 で、アプリケーションは市販の ERP システムですが、独自のコードを追加することができます。
以下を使用してコードを実行できます。
connection.execute"insert into blah blah blah"
そして、次を使用して結果セットを読み取ることができます。
Set objRS = CreateObject("ADODB.Recordset")
objRS.Open "select a, b, c FROM blahblah", Connection, adOpenStatic, adLockBatchOptimistic, adCmdText
If objRS.EOF = False Then
a = objRS.Fields("a").Value
b = objRS.Fields("b").Value
c = objRS.Fields("c").Value
End If
objRS.Close
問題のストアド プロシージャは、実際には select ステートメントです。
create procedure [dbname].[dbo].[sptestproc]
as
@Option1 Varchar(10) = NULL,
@Option2 Varchar(10) = NULL
AS
BEGIN
select first, second
from table1
where a = @option1 and b = @toption2
End
これまでの私のコード:
Dim sql
sql = "EXEC [dbname].[dbo].[sptestproc] '" & Opt1 & "','" & Opt2 & "'"
Set RS = CreateObject("ADODB.Recordset")
RS.Open sql, Connection, adOpenStatic, adLockBatchOptimistic, adCmdText
Do While Not RS.EOF
Call App.MessageBox("first",vbInformation,"Data updated")
Call App.MessageBox("second",vbInformation,"Data updated")
RS.MoveNext
Loop
しかし、私の人生では、実行して結果を読み取る手順を取得することはできません。
誰でも助けることができますか?
ありがとう