关于存储过程output参数的问题(100分)

  • 主题发起人 主题发起人 liuworker
  • 开始时间 开始时间
L

liuworker

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL SERVER 2000中写一个存储过程
create procedure aaa @a int,@b int output,@c money output
as
select @b=bbb,@c=ccc from tabela where aaa=@a

在客户端调用存储过程
adostoredproc1.parameters.parambyname('@a').value:=1;
adostoredproc1.execproc;

edit1.text:=vartostr(adostoredproc1.parameters.parambyname('@b').value);
edit2.text:=vartostr(adostoredproc1.parameters.parambyname('@c').value);

程序运行execproc后,将传出参数赋值给edit.text时总是提示类型转换出错,不知那位能
帮忙解决。急!
 
我这儿试没有问题啊.
你在object inspect中把参数的属性设一下,把@b,@c设为pdOutput.
下面是我试验的环境:
=========表==========
create table tabela
(aaa int
bbb int
ccc money)

insert tabela values(1,3,189,56)

=========存储过程==========
drop proc aaa
go
create procedure aaa @A int, @b int output,@c money output
as
select @b = bbb,@c=ccc from tabela where aaa=@a
========Delphi==============
with adostoredproc1 do
begin
close;
parameters.parambyname('@a').value:=1;
ExecProc ;
edit1.text := vartostr(adostoredproc1.parameters.parambyname('@b').value);
edit2.text := vartostr(adostoredproc1.parameters.parambyname('@c').value);
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
890
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
743
SUNSTONE的Delphi笔记
S
后退
顶部