请大家误必帮忙看一下,关于BDE连接sql server,执行存储过程的问题(50分)

  • 主题发起人 主题发起人 zys1975117
  • 开始时间 开始时间
Z

zys1975117

Unregistered / Unconfirmed
GUEST, unregistred user!
我用BDE连接sql server2000时,执行一个存储过程,这个存储过程有输出参数,但是执行了之后,输出参数却是乱码。补丁也打了。
不知的朋友也帮我顶一顶。
多谢各位大侠了。
 
用ADO连接不是更好吗?
 
to renyi:我知道可以用ADO,但是我现在是用BDE嘛。
 
zys1975117,
输出参数  的类型是ftUnknown吧,呵呵。
  改为指定的类型就好了。

:P
 
上次我也碰到过,我的那个问题的原因是存储过程执行完了以后输出参数为空,这时显示的时候也是乱码,要确定确实有参数输出。
 
再说清楚一些:
执行同样的存储过程。
1.用ADO连接SQL SERVER返回参数都没有问题。
2.用BDE连接oracle返回能数也没有问题。
就是用bde连接SQL SERVER返回参数乱码。
 
是这样,bde需要在用StoredProc1,在open后调用StoredProc1.GetResults方法,并把记录移到最后一条(Last),就可以得到Output 参数的值了
建议还是用
ado
 
谢谢大家。上面的问题还是自己解决了,是输入参数asMemo的问题,我看了帮助说的是输出
参数不支持memo类型,不知关输入参数什么事。
不过新的问题又出现了。
====================
使用ado连接oracle817时,也是使用同样的存储过程。
因为要设置输出参数的size,我设置了40,但是输出的参数比如只有3个汉字,但它会返回
3个字后,还在后面加了无数空格,我试了一下,长度就为41了。请问是什么原因呢。
 
靠现在开发程序真他妈的难。光驱动就搞死人。
上面的问题中,如果用微软件的驱动:
Provider=MSDAORA;Password=dd;User ID=dd;Data Source=dd
就没有问题。
用oracle自己的驱动:
Provider=OraOLEDB.Oracle.1;Password=dd;User ID=dd;Data Source=dd
反而出现上面的情况。
很多人说是ado连接oracle不要用微软的驱动,用oracle自己的驱动,我倒底怎么办呀?
 
为何不用ADO???
 

Similar threads

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