cm1.CommandText = "{call pkg_test.get(?)}"
不对,不要用函数,用过程
CommandText是执行过程的,函数不是这么使用的。
一般函数是通过
select funName from dual;来执行,
但你返回的记录集,在asp中不适合

解决方案 »

  1.   

    这种方法在ASP中是行不通的,换一种思路,比如直接查询表(临时表)
      

  2.   

    penitent(只取一瓢) 大兄想到办法吗不防直言!!
      

  3.   

    现在只能有两个方法可通1, 把函数改成过程,可以行得通2,按现在方法,问题像(只取一瓢) 大兄所说的,怎样让一个返回记录集的函数调用问题,不可能select get(...) from dual;简单调用.
      

  4.   

    感谢 penitent(只取一瓢)的一直提示但本人不甘心,非要把它转成过程在线等待!!!
      

  5.   

    CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;   PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
    END pkg_test;
    /CREATE OR REPLACE PACKAGE BODY pkg_test
    AS
       PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
       IS
          sqlstr   VARCHAR2 (500);
       BEGIN
          IF p_id = 0
          THEN
             OPEN p_rc FOR
                SELECT ID, NAME, sex, address, postcode, birthday
                  FROM student;
          ELSE
             sqlstr :=
                'select id,name,sex,address,postcode,birthday
               from student where id=:w_id';
             OPEN p_rc FOR sqlstr USING p_id;
          END IF;
       END get;
    END pkg_test;
    /
      

  6.   

    我终于成功了, 谢谢 KingSunSha(弱水三千) 兄还要多谢 penitent(只取一瓢) 一直对我的支持太高兴!!!