none
vb调用存储过程返回值的问题 RRS feed

  • 问题

  • 各位大虾,小弟刚学VB.NET,以前用的是VB6,有个问题想请教大家,下面的程序是我从VB6升级上来的,

            Dim cn As New ADODB.Connection
            Dim cmd As New ADODB.Command

            Dim InterID As Integer '单据内码

            cn.Open(ConS)
            cmd.ActiveConnection = cn

     

            With cmd
                .CommandText = "GetNum"
                .CommandType = ADODB.CommandTypeEnum.adCmdStoredProc

     

                .Parameters.Append(.CreateParameter("@TN", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 255))
                .Parameters("@TN").Value = "PO"

     

                .Parameters.Append(.CreateParameter("@ID", ADODB.DataTypeEnum.adSingle, ADODB.ParameterDirectionEnum.adParamReturnValue))
                .Parameters("@ID").Value = 0

     

                .Parameters.Append(.CreateParameter("@It", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamInput))
                .Parameters("@It").Value = 1

     

                .Execute()
                InterID = .Parameters("@ID").Value
            End With

    其中“GetNum”是存储过程,有三个参数,其中第二个参数为Output,存储过程我在SQL查询分析器中执行没有问题,可以返回值,VB6也一样可以,不过在VB.NET中执行没有报错,但返回值为0,我的参数用adParamOutput或adParamReturnValue都一样不行。

    搞不清楚错在哪里,请各位指点一下。

     

    2008年9月27日 3:35

答案