tinger (影虎):
你的问题老是好奇怪的。
返回记录集还要返回字符串,是不是rec = cmd.execute错,还是别的地方错,
我没有测试条件,但是你的语句中有一个错误
'out
cmd.parameters.append cmd.createparameter("p_depart_name",adVarchar,adParamOutput,10)
就是out类型的参数也要指定长度,如果还有问题,等明天我测试再说

解决方案 »

  1.   

    cmd.commandtext = "?={call tinger01.selectbudgettitle(?,?, {resultset 100,a})}"
    cmd.parameters.append cmd.createparameter("p_depart_id",adVarchar,adParamOutput,10,1)
    第一个参数就是返回参数。
      

  2.   

    如果出错,试试这个:
    cmd.commandtext = "{?=call tinger01.selectbudgettitle(?,?, {resultset 100,a})}"
      

  3.   

    我想问的是同时返回一个有10条INT型的记录,同时再返回一条只有一个1条varchar2的字符串。或者如何返回两条记录集?问题是奇怪了点。但是我也不想,请大哥们多帮帮忙。小弟在这先谢了。
      

  4.   

    弱弱的问:"{call tinger01.selectbudgettitle(?, {resultset 100,a})}"
    像这样的字符串到底是什么意思?
    有没有什么格式参考一下!影虎兄,借地一用,不要生气哦!
      

  5.   

    影虎兄,看短信啊!
    我在CSDN里给你发了短信!
      

  6.   

    怎么会不可以呢,发现你就是不愿意多试试。
    这是我的代码,测试通过
    <%
     dim  cn,cmd,cmdrc,driver_name,para,result  
     driver_name=  "Provider=MSDAORA.1;Password=pass;User ID=user;Data  Source=server;Persist Security Info=True"  
     set  cn  =  server.CreateObject("adodb.connection")  
     cn.open driver_name  
     set  cmd=server.CreateObject("adodb.command")  
     set  cmdrc=server.CreateObject("adodb.recordset")  
       
       
     cmd.CommandType  =  1  
     set  para  =  cmd.Parameters  
     '这里加一个?参数  
     cmd.CommandText  =    "{call  tinger01.selectbudgettitle(?,?,{resultset  0,  myrc})}  "   
     para.Append  cmd.CreateParameter("p_depart_id",3,1,4,1)
    '是我加的返回参数,类型是integer 
     para.Append  cmd.CreateParameter("p_name",3,2,4)  
     cmdrc.CursorType  =  3  
     cmdrc.LockType  =  3  
    '设置连接  
     set  cmd.ActiveConnection  =  cn                  
     set  cmdrc.Source  =  cmd  
     cmdrc.Open
     result= cmd("p_name") 
    '测试是否成功,我这里返回ok,我的result返回1,也正确  
    if  cmdrc.EOF  then  
     response.Write   "false" 
     response.write   result 
    else  
     response.Write   "ok"
     response.write   result  
    end  if  
    %>
      

  7.   

    to martix(矩阵)
    简单过程command就可以解决

    set cm = Server.CreateObject("ADODB.Command")
    Set cm.ActiveConnection = cn
    cm.CommandText = "sp_name"
    cm.CommandType = 4
    set para = cm.Parameters
      'in
    para.Append cm.CreateParameter("table_name",202,1,30,"t_info_pub_news")
      para.Append cm.CreateParameter("field_id",202,1,30,"newsid")
     para.Append cm.CreateParameter("field_name",202,1,30,"content")
     para.Append cm.CreateParameter("v_pos",3,1,4,0)
      para.Append cm.CreateParameter("v_id",3,1,4,id)
      para.Append cm.CreateParameter("v_clob",202,1,32766,objUpload.request("content"))
      'out
      para.Append cm.CreateParameter("Result",3,2,4)
      cm.execute
      if cm("Result")<>1 then
      response.write "远程过程调用失败"
      response.end
      end if