dim cmd as new adodb.command
    With Cmd     '调存储过程
        .ActiveConnection = Cn
        .CommandType = adCmdStoredProc
        .CommandText = "FPTransCPBar9"
        .Parameters.Append .CreateParameter("@datestart", adDate, adParamInput, , DateStart)
         .Execute
    End With调用一次可以,第二次就汇报错,说参数多
存储过程没有问题,可能是我调用的问题

解决方案 »

  1.   

    With Cmd     '调存储过程
            .ActiveConnection = Cn
            .CommandType = adCmdStoredProc
            .CommandText = "FPTransCPBar9"
            .Parameters.Append .CreateParameter("@datestart", adDate, adParamInput, , DateStart)
            .Parameters.Append .CreateParameter("@dateend", adDate, adParamInput, , DateEnd)
            .Parameters.Append .CreateParameter("@bar9", adChar, adParamInput, 9, StrBar9)
            .Parameters.Append .CreateParameter("@qrymode", adChar, adParamInput, 50, StrMode)
            .Parameters.Append .CreateParameter("@qrymatter", adChar, adParamInput, 50, StrQry)
            .Execute
        End With
    总的是这样的
    我觉得好象是查询一次后,应该关掉些什么东西。
      

  2.   

    对,加Cmd.Close应该就可以了,如果不行就set Cmd=nothing
      

  3.   

    set Cmd=nothing
    后可以了
    怎么会这样呢
      

  4.   

    我在存储过程a中,循环调用另外一个存储过程b
    vb中调用a
    出现错误,说超时以过期ado的connection对象的connectionTimeout属性我没有设置
    请问我应该怎么调整阿
      

  5.   

    cmd的参数组里面的参数没有释放,以致越来越多
      

  6.   

    那我应该怎么改阿存储过程a需要3个参数
    b需要4个参数,a中通过循环给b多传一个参数
      

  7.   

    我在sql查询分析器运行了一次阿,好长时间
    10分钟多了,还没执行完。
    是否我这种存储过程a中,定义游标,循环调用另外一个存储过程b的方法不好阿
      

  8.   

    我的问题还没有解决
    我的存储过程在sql查询分析器中运行25秒
    vb调用时,有时会产生“超时以过期“的错误
    我不明白是怎么一回事啊
      

  9.   

    请考虑优化你的存储过程如果真是时间长,产生“超时以过期“的错误
    可以修改.ConnectionTimeout = 60 这个秒数
      

  10.   

    我的存储过程已经优化了
    原来要好几分钟呢在sql查询分析其中没有问题
    vb调用有时会产生“超时已过期”
    有的时候好使
      

  11.   

    .ConnectionTimeout = 60 
    我这么设了阿可还是有问题阿
      

  12.   

    每次执行完把command的参数clear掉!!