使用command对象来执行存储过程,
command.parameter(n)--n对应你输出参数的具体位置,如1或2
具体位置由你的存储过程参数顺序来决定的

解决方案 »

  1.   

    1.如果存儲過程中是用 select返回記錄集的形式,那麼你在ASP中使用recordset對象;
    2.如果存儲過程中是用 return返回的形式,那麼你在ASP中隻能用command對象了;
      

  2.   

    cmd.Parameters.Append cmd.CreateParameter("RetCode",adinteger,adParamReturnValue)
    Retvalue=cint(cmd("RetCode"))
      

  3.   

    只要我一加上返回值的这个,就出现如下错误objCmd.Parameters.Append(objCmd.CreateParameter("intRunExists",adInteger,adParamReturnValue))
    Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]为过程或函数 sendpro 指定的参数太多。 /admini/orders/detailor.asp,行246
      

  4.   

    还有一种写法就是:Dim oRs,ors1
     dim objCmd
       const o_id=187
     set objCmd=Server.CreateObject("Adodb.Command")
    set ors1=Server.CreateObject("ADODB.RecordSet") 
    objCmd.ActiveConnection=conn
    objCmd.CommandText="order_tot_amt" '指定存储过程名称
    objCmd.CommandType=adCmdStoredProc '其为Stored ProcedureobjCmd.Parameters.Append _ objCmd.CreateParameter("return_value",adInteger,adParamReturnValue ) objCmd.Execute 
    returnval=objCmd("return_value")
    response.write returnval
    出现错误:
    Microsoft VBScript 编译器错误 错误 '800a0414' 调用子程序时不能使用括号 /admini/orders/sendfriend.asp,行26 objCmd.CreateParameter("return_value",adInteger,adParamReturnValue )
      

  5.   

    用这个
    set cmd=server.CreateObject("adodb.command")
    WITH cmd
    cmd.ActiveConnection=conn
    cmd.CommandType=adCmdStoredProc
    cmd.CommandText="add_admin"
    cmd.Prepared=true
    cmd.Parameters.Append cmd.CreateParameter("Return_value",adinteger,adParamReturnValue)
    cmd.Parameters.Append cmd.CreateParameter("@username",adchar,adParamInput,50,username)
    cmd.Parameters.Append cmd.CreateParameter("@password",adchar,adParamInput,50,password)
    set rs=cmd.execute()
    returnvalue=cmd.Parameters("Return_value")
    end with