如何通过ADO参数对象传递JavaScript数组到Oracle存储过程 [英] how to pass javascript array to oracle store procedure by ado parameter object
本文介绍了如何通过ADO参数对象传递JavaScript数组到Oracle存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我工作的一个ASP + oracle的web项目,我需要多用户选择功能。
I am working on a asp+oracle web project, and I need a multiple user select function.
1,使用JavaScript建立一个字符串数组:
1, use javascript build up a string array :
var userArray = ["Simon","Sheng","Cheng"];
2,通过ADO参数对象传递给它,但我不知道怎么填参数ojbect:
2, pass it by ado parameter object,but I don't know how to fill Parameter ojbect :
var cmd = Server.CreateObject("ADODB.Command");
var param = cmd.CreateParameter("par",????????????)<--I don't know how to fill;
3,在Oracle中创建存储过程
3, create store procedure in oracle
create or replace package demo_pkg
as
type charArray is table of varchar2(255) index by binary_integer;
type t_cursor is ref cursor;
procedure p_test(p_id in charArray,p_cursor out t_cursor );
end;
create or replace package body demo_pkg
as
procedure p_test (p_id in charArray,p_cursor out t_cursor )
AS
v_cursor t_cursor;
BEGIN
open v_cursor for
select last_name from employees where last_name in (select * from table(cast(p_id as charArray)))
p_cursor := s_test;
end;
end;
3天之后谷歌,我还在这里,那么,谁可以帮我?
After 3 days google, I still here, so who can help me?
推荐答案
的格式为:
CreateParameter( name, type, direction, size, value )
您需要的值是:
adVarChar = 200
AdArray = 0x2000
adParamInput = 1
和你这样调用它:
var param = cmd.CreateParameter( 'par', adVarChar + AdArray, adParamInput, 255, userArray )
这篇关于如何通过ADO参数对象传递JavaScript数组到Oracle存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文