在 VB6 中调用具有单个输入参数的 SQL 存储过程

Calling a SQL Stores Procedure with single input parameter in VB6

我试图在 VB6 中调用具有单个输入参数的 SQL 存储过程。基本上,VB6 应用程序会提交一个供应商编号,并检查该供应商编号的发票状态,如果状态 = A,则它 returns 为假值,其他任何 returns 为真值。我的存储过程在 SQL 中运行,但在我的应用程序中调用它时无法运行。

这是我目前的情况。

这是我的按钮点击:

Dim cmd As ADODB.Command 
Public dc As New DataConnection 

Private sub btnCheckStatus_Click()
Set cmd = New ADODB.Command 
    cmd.ActiveConnection = dc
    cmd.CommandType = adCmdStoredProc 
    cmd.CommandText = "[dbo].[CheckStatus]" 
    cmd.Parameters.Append cmd.CreateParameter("@VendorNumber", adInteger, adParamInput, "6", VendorNumber) 
    cmd.execute 
BalanceStatus = cmd(result) 
Set cmd.ActiveConnection = Nothing 

我似乎无法从存储过程中获取结果,我试图将其设置为一个变量但它不起作用,它给我一个类型不匹配错误

必须设置记录集来保存所有信息并将其分配给我的状态变量。

    Dim cmd As ADODB.Command
    Dim rs As New ADODB.Recordset
    Public dc As New DataConnection   

                Set cmd = New ADODB.Command
                    cmd.ActiveConnection = Connection.dc.conn
                    cmd.CommandType = adCmdStoredProc
                    cmd.CommandText = "[dbo].[CheckStatus]"
                    cmd.Parameters.Append cmd.CreateParameter("VendorNumber", adInteger, adParamInput,6, VendorNumber)

                Set rs = cmd.execute

                If Not rs.EOF Then
                    BalanceStatus = rs.Fields(0)
                End If