大家好,第一次来,请多关照:存储过程输出参数的问题(小弟拿出全部家当了)--PiPi大哥,请帮我看看,很多人都说你是本论坛Oracle方面的高高手 (200分)

  • 主题发起人 主题发起人 嘟赌
  • 开始时间 开始时间

嘟赌

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是delphi5+oracle9i,我的一个存储过程有3个输出参数(a1,a2,a3),程序运行
的时候输出参数值不对,通过调试,我发现第一参数的值a1=a1+a2+a3,第二个参数的值
a2=a2+a3,第三个参数的值a3=a3,也就是说只有最后一个参数的值是正确的。我在本论
坛以前的帖子中搜索,找到一个和我类似的问题贴,解决者说把BDE升级到5.1.1就可以
了,但我下载了bde511en并安装后,问题并没有得到解决,希望各位大虾能帮助小弟,小
弟拿出全部家当了。
 
有没有用ODAC试试.
 
hbezwwl:
能说详细点吗?怎么通过odac试呢?
 
是不是存储过程内部的问题呢?
你在存储过程内部跟踪调试了吗?
 
你的存储过程是怎么写的,贴出来大家看看,否则怎么判断!
 
ODAC是另一套连接ORACLE的数据集控件,如果使用它以后,也
有你这样的情况,就重点检查存储过程.

//要不,把存储过程拿出来看看.
 
存储过程肯定没有问题,因为我用ado连接的时候一切正常,其他没有输出参数的
存储过程也能得到正常结果,我试着更改bde的参数,但要么连接不上,要么还是这个
问题。而所有输出参数超过两个的存储过程都是这样。
 
我搜索到的同样问题的帖子为:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=250732
但贴主最后说的不是很清楚
cylinder如果看到这个问题,请谈谈你当时到底是怎么解决的
 
我其中的一个存储过程是这样写的:

CREATE OR REPLACE PROCEDURE "YY_HJSF"."PROC_SJ_GL" (
out_am1 IN OUT CHAR,
out_am2 IN OUT CHAR,
out_pm1 IN OUT CHAR,
out_pm2 IN OUT CHAR,
)
AS
l_am1 char(8);
l_am2 char(8);
l_pm1 char(8);
l_pm2 char(8);

BEGIN
PROC_sj_gl.l_am1 := '';
SELECT am1
INTO PROC_sj_gl.l_am1
FROM hj_no;
PROC_sj_gl.l_am2 := '';
SELECT am2
INTO PROC_sj_gl.l_am2
FROM hj_no;
PROC_sj_gl.l_pm1 := '';
SELECT pm1
INTO PROC_sj_gl.l_pm1
FROM hj_no;
PROC_sj_gl.l_pm2 := '';
SELECT pm2
INTO PROC_sj_gl.l_pm2
FROM hj_no;
PROC_sj_gl.out_am1 :=proc_sj_gl.l_am1;
PROC_sj_gl.out_am2 := proc_sj_gl.l_am2;
PROC_sj_gl.out_pm1 := proc_sj_gl.l_pm1;
PROC_sj_gl.out_pm2 := proc_sj_gl.l_pm2;
END PROC_sj_gl;
 
hbezwwl大虾:
存储过程也贴出来了,有什么好的方法可以解决吗?
 
很急呀!工作快进行不下去了!!
 
存储过程没什么错啊,还是调用的驱动有问题,如楼上几位说的,换驱动吧,BDE就不好
 
BDE虽然不好,但也不至于不能调用存储过程吧,除了换驱动还有什么办法吗?
 
各位大哥,帮帮忙吧!
我查出问题和通过多种方法试已经已经花费了很多时间,但我现在是工作,没有更多的
时间去慢慢查,慢慢试,各位就当是做做善事,试着用DBE连一个有多个输出参数的存储
过程,看看会不会出现这个问题,拜托了!
 
我只用过SQL SERVER的存储过程。当我遇到问题时,就一步一步的试。1.不用存储过程,
用SQL语句测试看能不能通过。如果能,则用TStoredProc控件。先不执行程序。在设计时
给TStoredProc的参数赋值,把它的Active改成TRUE,看结果是不是正确。
如果这个作对了。就应该在执行的时候通过了。
 
wumeng:
>>先不执行程序。在设计时给TStoredProc的参数赋值,把它的Active改成TRUE,看结果是不是正确。
我也这样试了,得到的结果也是不对的,我觉得BDE有问题的可能性很大,但现在不知道
该怎么从这个角度解决了。
 
有心想与boland公司寻求技术支持,但我们用的不是正版Delphi(我也反对用盗版,但
老板不买正版有什么办法)。
 
缺乏良好的程序结构设计、问题肯定少不了!
 
Aloney:
就这个问题来说好象与系统结构没有关系吧


看来大富翁并不象我朋友说的那样好,这里的人虽然很热心(谢谢你们),但没有高
手(或者高手都不愿意回答??)。大家似乎并不是为了讨论问题,帮助寻找解决问题
的方法而来。悲哀ing
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部