asp 调用oracle 存储过程报错“80040e21”
时间:2011-09-07
来源:互联网
求助
oracle存储过程
create or replace procedure proc_test(
t_fcid in number
) is
v_sum1 NUMBER(10);
v_quan NUMBER(10);
begin
select sum(MATERIALTOTAL) into v_sum1 from kl_materialfc where parentitemid = t_fcid ;
select quantity into v_quan from kl_financecost where fcid = t_fcid;
update kl_financecost set FCCOSTMATERIAL = to_char(round(v_sum1/v_quan,2)) where fcid = t_fcid;
end proc_test;
asp代码
dim cmdTemp
'建立命令对象
Set cmdTemp = Server.CreateObject("ADODB.Command")
'指定要执行的是一个存储过程
cmdTemp.ActiveConnection = objCn
cmdTemp.CommandType = 4 'adCmdStoredProc 4
cmdTemp.CommandText = "proc_test"
'adNumeric 131
'adParamInput 1
cmdTemp.Parameters.Append cmdTemp.CreateParameter("t_fcid",131,1,10,2104285)
cmdTemp.Execute (137行)
报错
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
/Forms/KL/common/dbfinancecost.asp,行 137
oracle存储过程
create or replace procedure proc_test(
t_fcid in number
) is
v_sum1 NUMBER(10);
v_quan NUMBER(10);
begin
select sum(MATERIALTOTAL) into v_sum1 from kl_materialfc where parentitemid = t_fcid ;
select quantity into v_quan from kl_financecost where fcid = t_fcid;
update kl_financecost set FCCOSTMATERIAL = to_char(round(v_sum1/v_quan,2)) where fcid = t_fcid;
end proc_test;
asp代码
dim cmdTemp
'建立命令对象
Set cmdTemp = Server.CreateObject("ADODB.Command")
'指定要执行的是一个存储过程
cmdTemp.ActiveConnection = objCn
cmdTemp.CommandType = 4 'adCmdStoredProc 4
cmdTemp.CommandText = "proc_test"
'adNumeric 131
'adParamInput 1
cmdTemp.Parameters.Append cmdTemp.CreateParameter("t_fcid",131,1,10,2104285)
cmdTemp.Execute (137行)
报错
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
/Forms/KL/common/dbfinancecost.asp,行 137
作者: threecolors_duwei 发布时间: 2011-09-07
如果把存储过程直接赋值
create or replace procedure proc_test is
t_fcid number(10);
v_sum1 NUMBER(10);
v_quan NUMBER(10);
begin
t_fcid := 2104285;
select sum(MATERIALTOTAL) into v_sum1 from kl_materialfc where parentitemid = t_fcid ;
select quantity into v_quan from kl_financecost where fcid = t_fcid;
update kl_financecost set FCCOSTMATERIAL = to_char(round(v_sum1/v_quan,2)) where fcid = t_fcid;
end proc_test;
asp里注销
cmdTemp.Parameters.Append cmdTemp.CreateParameter("t_fcid",131,1,10,2104285)
则可以正确执行,请问是啥原因??
create or replace procedure proc_test is
t_fcid number(10);
v_sum1 NUMBER(10);
v_quan NUMBER(10);
begin
t_fcid := 2104285;
select sum(MATERIALTOTAL) into v_sum1 from kl_materialfc where parentitemid = t_fcid ;
select quantity into v_quan from kl_financecost where fcid = t_fcid;
update kl_financecost set FCCOSTMATERIAL = to_char(round(v_sum1/v_quan,2)) where fcid = t_fcid;
end proc_test;
asp里注销
cmdTemp.Parameters.Append cmdTemp.CreateParameter("t_fcid",131,1,10,2104285)
则可以正确执行,请问是啥原因??
作者: threecolors_duwei 发布时间: 2011-09-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28