ASP调用一个输入值为varchar2,输出值为游标的存储过程,各种报错
时间:2011-11-09
来源:互联网
存储过程代码如下:
CREATE OR REPLACE PROCEDURE test_callprc_with_parm(CPDL in varchar2,r_result out sys_refcursor) as
v_cpdl varchar2(100);
Begin
v_cpdl := CPDL;
begin
Execute immediate 'drop table call_suc';
exception when others then
DBMS_OUTPUT.PUT_LINE('does not exist');
end;
begin
Execute immediate ' create table call_suc as select * from test_excel2oracle; ';
exception when others then
DBMS_OUTPUT.PUT_LINE('does not exist');
end;
BEGIN
open r_result for select * from test_excel2oracle where cpdl = v_cpdl and rownum = 1;
END;
END test_callprc_with_parm;
ASP代码如下
VBScript code
目前报错:
ADODB.Parameters 错误 '800a0e7c'
不正常地定义参数对象。提供了不一致或不完整的信息。
/test_cursor.asp,行 12
CREATE OR REPLACE PROCEDURE test_callprc_with_parm(CPDL in varchar2,r_result out sys_refcursor) as
v_cpdl varchar2(100);
Begin
v_cpdl := CPDL;
begin
Execute immediate 'drop table call_suc';
exception when others then
DBMS_OUTPUT.PUT_LINE('does not exist');
end;
begin
Execute immediate ' create table call_suc as select * from test_excel2oracle; ';
exception when others then
DBMS_OUTPUT.PUT_LINE('does not exist');
end;
BEGIN
open r_result for select * from test_excel2oracle where cpdl = v_cpdl and rownum = 1;
END;
END test_callprc_with_parm;
ASP代码如下
VBScript code
<!--#include file="adovbs.inc"--> <html> <body> <% set conn = Server.CreateObject("adodb.connection") set cmd = Server.CreateObject("adodb.command") conn.Open "xander","xanderbi","hupeng1" cmd.ActiveConnection = conn cmd.CommandText = "test_callprc_with_parm" cmd.CommandType = adCmdStoredProc set para1 = cmd.CreateParameter("cpdl",adVarChar,adParamInput) cmd.Parameters.Append para1 set para2 = cmd.CreateParameter("r_result",adUserDefined,adParamOutput) cmd.Parameters.Append para2 set rs = cmd.execute cmd.close conn.close %> </body> </html>
目前报错:
ADODB.Parameters 错误 '800a0e7c'
不正常地定义参数对象。提供了不一致或不完整的信息。
/test_cursor.asp,行 12
作者: qq253040425 发布时间: 2011-11-09
set objCmd=Server.CreateObject( "Adodb.Command ")
objCmd.ActiveConnection=conn
objCmd.CommandText= "sp_all_test " '指定存储过程名称
objCmd.CommandType=4
objCmd.Prepared = true '要求将SQL命令先行编译
'-----准备stored procedure 的参数-------
objCmd.Parameters.Append objCmd.CreateParameter( "@id ",3,1,4,id)
objCmd.Parameters.Append objCmd.CreateParameter( "@name ",200,1,50,name)
objCmd( "@id ")= "1 "
objCmd( "@name ")= "ttj "
'objCmd.Parameters.Append _
'objCmd.CreateParameter( "p_tot ",adBigInt,adParamOutput,,0)
'-----执行存储过程----------------------
set rs=objCmd.Execute()
'asp中,adParamInput,adCmdStoredProc 等常量没有初始值,如果要引用,就要提前定义,
常用的类型代码:
adBigInt: 20 ;
adBinary : 128 ;
adBoolean: 11 ;
adChar: 129 ;
adDBTimeStamp: 135 ;
adEmpty: 0 ;
adInteger: 3 ;
adSmallInt: 2 ;
adTinyInt: 16 ;
adVarChar: 200 ;
objCmd.ActiveConnection=conn
objCmd.CommandText= "sp_all_test " '指定存储过程名称
objCmd.CommandType=4
objCmd.Prepared = true '要求将SQL命令先行编译
'-----准备stored procedure 的参数-------
objCmd.Parameters.Append objCmd.CreateParameter( "@id ",3,1,4,id)
objCmd.Parameters.Append objCmd.CreateParameter( "@name ",200,1,50,name)
objCmd( "@id ")= "1 "
objCmd( "@name ")= "ttj "
'objCmd.Parameters.Append _
'objCmd.CreateParameter( "p_tot ",adBigInt,adParamOutput,,0)
'-----执行存储过程----------------------
set rs=objCmd.Execute()
'asp中,adParamInput,adCmdStoredProc 等常量没有初始值,如果要引用,就要提前定义,
常用的类型代码:
adBigInt: 20 ;
adBinary : 128 ;
adBoolean: 11 ;
adChar: 129 ;
adDBTimeStamp: 135 ;
adEmpty: 0 ;
adInteger: 3 ;
adSmallInt: 2 ;
adTinyInt: 16 ;
adVarChar: 200 ;
作者: hefeng_aspnet 发布时间: 2011-11-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28