NextRecordset
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset    Cmd.ActiveConnection = "DSN=MySamples;UID=sa"
Cmd.CommandText = "MyNextProc"
Cmd.CommandType = adCmdStoredProcSet rs = Cmd.Execute()
While Not rs Is Nothing
    If (Not rs.EOF) Then
        Debug.Print rs(0)
    End If
    Set rs = rs.NextRecordset()
Wend

解决方案 »

  1.   

    Create Proc S_ZJBJ --增加班级
    (
       @BJMC VarChar(20),  --班级名称
       @ZYBH VarChar(10),  --专业编号
       @KKSJ SmallDateTime,-- 开课时间
       @SKXX  VarChar(10), --授课形式
       @BZR  VarChar(10),  --班主任
       @BZ NText='',        --备注
       @返回变量 varchar(20) output
    )
    AsDeclare @ID VarChar(20)
    Declare @BS varChar(10)Select @BS=标识 From 专业信息 Where 专业编号=@ZYBHExec GetBJID @BS,@ID Output  --得到自动编号
    --Select @ID
    --Select * from 教室信息Insert Into 班级信息 
    Values (@ID,@BJMC,@ZYBH,@KKSJ,@SKXX,@BZR,@BZ) IF (@@error <> 0)
    BEGIN
      Select @返回变量=-1
    END
    Else
    Begin
      Select @返回变量=@ID
    End-----------------------------
    private sub 
    dim inSN as string '假定你用的序列号为字符串
    dim outRet as long '假定你用的返值为整型
    dim cnn as new connection
    dim cmd as new command
    dim param1 as new parameter
    dim param2 as new parameteron error goto Err
    //建立数据库连接
    cnn.connectionstring=你要的连接串
    cnn.open
    set cmd.activeconnection=cnn
    //设置命令对象
    cmd.commandtype=adcmdstoredprocedure
    cmd.commandtext=你写的存储过程名
    //添加参数对象
    set param1=cmd.createparameter("insn",advarchar,adparaminput,50,inSN)
    set param2=cmd.createparameter("RetVal",adinteger,adparamoutput)
    cmd.parameters.append param1
    cmd.parameters.append param2
    //执行之
    cmd.execute
    //得到结果  OutRet=clng(param2) '得到你想要的返回值exit sub
    Err:
      msgbox err.number & err.descrpition
    end sub
      

  2.   

    因为用这种方法,我改代码改的太多了,有没有其他的办法呢?
    谢谢你 pengdali(大力 V2.0) 
    我以前的问题,大部分是你回答的,非常谢谢你!
      

  3.   

    我还是用你的方法吧
    谢谢你帮我看看,哪里有错误?怎么没有返回值Call cntOpen("")
    cmd.ActiveConnection = cnt
    cmd.CommandText = "S_ZJBJ"
    cmd.CommandType = adCmdStoredProc
    Dim param1 As New Parameter
    Dim param2 As New Parameter
    Dim param3 As New Parameter
    Dim param4 As New Parameter
    Dim param5 As New Parameter
    Dim param6 As New Parameter
    Dim param7 As New Parameter
    Set param1 = cmd.CreateParameter("insn1", adVarChar, adParamInput, 50, inSN)
    Set param2 = cmd.CreateParameter("insn2", adVarChar, adParamInput, 50, inSN)
    Set param3 = cmd.CreateParameter("insn3", adDate, adParamInput, 10, inSN)
    Set param4 = cmd.CreateParameter("insn4", adVarChar, adParamInput, 50, inSN)
    Set param5 = cmd.CreateParameter("insn5", adVarChar, adParamInput, 50, inSN)
    Set param6 = cmd.CreateParameter("insn6", adVarChar, adParamInput, 50, inSN)
    Set param7 = cmd.CreateParameter("RetVal", adVarChar, adParamOutput, 10, inSN)param1.Value = "BJMC"
    param2.Value = "ZY0001"
    param3.Value = "2003-3-3"
    param4.Value = "Hello"
    param5.Value = "how"
    param6.Value = ""
    cmd.Parameters.Append param1
    cmd.Parameters.Append param2
    cmd.Parameters.Append param3
    cmd.Parameters.Append param4
    cmd.Parameters.Append param5
    cmd.Parameters.Append param6
    cmd.Parameters.Append param7Set rs = cmd.Execute()
    MsgBox param7.Value
      

  4.   

    MsgBox param7.Value ,<-- 这里没有返回值