如何通过ADO参数对象传递JavaScript数组到Oracle存储过程 [英] how to pass javascript array to oracle store procedure by ado parameter object

查看:225
本文介绍了如何通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆