返回记录集的存储过程必须使用odbc的转义符调用格式。 Cmd.CommandText = "{CALL Employees.GetEmpRecords(?, ?)}" 'GetEmpRecords存储过程返回两个记录集,获得第一个记录集 Set Rst1 = Cmd.Execute %> <TABLE border = 1> <% Do while (Not rst1.eof) %> <tr> <% For Index=0 to (rst1.fields.count-1) %> <TD VAlign=top><% = rst1(Index)%></TD> <% Next %> </tr> <% rst1.MoveNext Loop '显示第一个记录集 %> </TABLE> <%'获得GetEmpRecords存储过程返回的第二个记录集 Set Rst2 = Rst1.NextRecordset '在此可加入显示第二个记录集的代码 Prm1.Value = 7369 '该参数对应于存储函数的inempno Prm2.Value = 0 '该参数对应于存储函数的p_errorcode '调用返回记录集的存储函数 Cmd.CommandText = "{CALL Employees.GetDept(?, ?)}" '获得GetDept存储函数返回的记录集 Set Rst2 = Cmd.Execute Rst1.Close Rst2.Close set rst1=nothing set rst2=nothing con.close set con=nothing %> <P> </P> </BODY> </HTML> 5 小结 在应用程序中,使用OLE DB和ADO访问返回记录集的存储过程,OLE DB服务者可以高效地将数据库端的多行记录集返回给ADO应用程序。在ADO应用程序中,使用Command对象可以传递输入或输出参数给存储过程,并调用存储过程以获得多行记录集。 参考文献 1.(美)William G.Page, Jr.等著,王磊等译,《Oracle 8/8i开发使用手册》,机械工业出版社,北京,2000年3月,451-456页。 2.(美)Carol McCullough-Dieter著,蔡铁岭等译,《Oracle 8开发人员指南》,中国水利水电出版社,北京,2000年1月,271-276页。 3.刘阶萍等著,《深谈SQL SERVER 7.0与电子商务开发应用》,机械工业出版社,北京,2000年7月,350-352页。 4.夏毅,《ASP脚本如何调用Oracle存储过程》,《软件世界》2002年2月,68-71页 上一页 [1] [2] [3]
Tags:
|