语言:VB
数据库:SQL2008
问题描述:
现有一存储过程。会返回三个output参数
@aaa int
@bbb int
@ccc varchar(128)现在在SQL直接调用存储过程时,返回是没有问题的,均能接收现在的问题是:
在VB中,如何设置变量来接收这些传回的参数。
我用的是recordset.open的方式打开存储过程,这个由于涉及的模块极多,无法改成CMD的方式打开。
目前VB的代码:Dim TotalCount%, maxpage%, strerrinfo$, RC%clsrs1.opensql "Execute GetRecordFromPage_new  N'zjs-ckjs kcjszzl-ckzl kczl,ztj-cktj kctj,*',N'kcgl','" & cx_str & "', '" & IIf(torn.tag = "", "no ", torn.tag) & "' , " & Val(tnu.Text) & ",  " & Val(tpg.Text) & ",  " & TotalCount & "  output," & maxpage & "    output,'" & strerrinfo & "'    output "
注:以上clsrs1可视为recordset
opensql相当于recordset的open以上代码的错误是:执行的时候,将三个变量读取成为常量后,才执行SQL,所以会提示常量后不能用output求高手指点

解决方案 »

  1.   

    Dim TotalCount%, maxpage%, strerrinfo$, RC%clsrs1.opensql "Execute GetRecordFromPage_new N'zjs-ckjs kcjszzl-ckzl kczl,ztj-cktj kctj,*',N'kcgl','" & cx_str & "', '" & IIf(torn.tag = "", "no ", torn.tag) & "' , " & Val(tnu.Text) & ", " & Val(tpg.Text) & ", " & TotalCount & " output," & maxpage & " output,'" & strerrinfo & "' output "
      

  2.   

    Dim TotalCount%, maxpage%, strerrinfo$, RC%clsrs1.opensql "Execute GetRecordFromPage_new N'zjs-ckjs kcjszzl-ckzl kczl,ztj-cktj kctj,*',N'kcgl','" & cx_str & "', '" & IIf(torn.tag = "", "no ", torn.tag) & "' , " & Val(tnu.Text) & ", " & Val(tpg.Text) & ", " & TotalCount & " output," & maxpage & " output,'" & strerrinfo & "' output "