我是一个完整的 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
有问题的存储过程实际上是一个选择语句,例如:
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
但是我一辈子都无法获得执行和阅读结果的程序。
任何人都可以帮忙吗?
谢谢