日期:2012-11-19  浏览次数:20419 次

打开Form1窗体,Copy以下的代码到窗体中,该段代码将测试存储过程ADOTestRPE的返回值、输入参数及输出参数,测试的过程中,可能需要修改链接字符串。



Sub CreateParms()

Dim ADOCmd As New ADODB.Command

Dim ADOPrm As New ADODB.Parameter

Dim ADOCon As ADODB.Connection

Dim ADORs As ADODB.Recordset

Dim sParmName As String

Dim strConnect As String

Dim rStr As String



On Error GoTo ErrHandler



strConnect = "driver={SQL Server};server=(local);uid=sa;pwd=;database=pubs"



Set ADOCon = New ADODB.Connection

With ADOCon

.Provider = "MSDASQL"

.CursorLocation = adUseServer 'Must use Server side cursor.

.ConnectionString = strConnect

.Open

End With



Set ADOCmd.ActiveConnection = ADOCon

With ADOCmd

.CommandType = adCmdStoredProc

.CommandText = "ADOTestRPE"

End With



'Parameter 0 is the stored procedure Return code.

sParmName = "Return"

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamReturnValue, , 0)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = -1



'Parameter 1 is the setting for the stored procedure Output

' parameter.

sParmName = "Output"

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamOutput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 999



'Parameter 2

sParmName = "R1Num" 'Number of rows to return in Resultset 1.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 1



'Parameter 3

sParmName = "P1Num" 'Number of PRINT statements in Resultset 1.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 0



'Parameter 4

sParmName = "E1Num" 'Number of RAISERROR statements in Resultset

'1.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 0



'Parameter 5

sParmName = "R2Num" 'Number of rows to return in Resultset 2.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 2



'Parameter 6

sParmName = "P2Num" 'Number of PRINT statements in Resultset 2.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 0



'Parameter 7

sParmName = "E2Num" 'Number of RAISERROR statements in Resultset

' 2.

Set ADOPrm = ADOCmd.CreateParameter(sParmName, adInteger, _

adParamInput)

ADOCmd.Parameters.Append ADOPrm

ADOCmd.Parameters(sParmName).Value = 0



Set ADORs = ADOCmd.Execute



Do While (Not ADORs Is Nothing)

If ADORs.State =