大家来看看,超级Bug?用DBExpress连接MSSQL,执行存储不能返回值,谁能解决,200分

myxfang 2003-01-18 11:04:56
参数都对,存储的语句也正确执行了,就是不能返回得到的值
我是用dbexpress的TSqlStoredProcedure
参数用ptResult,和output都不能返回
create PROCEDURE dbo.sp_log
@vId int,
@vPer_name varchar(10),
@vOper_menu varchar(20)='',
@vOper_comp varchar(15)=''
AS
begin transaction
if @vId=0
insert into oper_log(per_name,oper_menu,oper_time,oper_computer)values(@vPer_name,@vOper_menu,{Fn Now()},@vOper_comp)
else
update oper_log set oper_endtime={Fn Now()}, operate=@vPer_name where oper_id=@vId
commit
return @@identity

我已经查过了论坛很多例子,都不行的
用Ado可以返回值
...全文
43 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
myxfang 2003-01-23
  • 打赏
  • 举报
回复
200分是不是太少了,我可以再加啊
myxfang 2003-01-23
  • 打赏
  • 举报
回复
已经自己解决,200分给各位发奖金了
加了一句就可以了set nocount on
帮助别人就是帮助自己
可以安心过年了,祝大家春节快乐!
azi79 2003-01-22
  • 打赏
  • 举报
回复
DBExpress在D6里我怎么找不到MSSQL的驱动,只有MySQL的驱动,是不是只有在D7里才能用,有谁知道在D6里怎么设置告诉我一下,
qq:43295745
myxfang 2003-01-22
  • 打赏
  • 举报
回复
年终了,解决了好过年啊
大家帮忙吧,我要发奖金了
myxfang 2003-01-21
  • 打赏
  • 举报
回复
没人用dbexpress吗
gzl 2003-01-21
  • 打赏
  • 举报
回复
i unknow.
llnm 2003-01-21
  • 打赏
  • 举报
回复
对不起,没看清楚,dbexpress我没有用过
llnm 2003-01-21
  • 打赏
  • 举报
回复
你把return @@identity
换成
select @as_bkzh1=@as_bkzh
如:存储过程头为: create procedure get_bkzh
(@as_rno char(10),@as_bkzh1 char(20) output//一定要先定义好,并设置类型)
这是sybase的用法,你可以试试
myxfang 2003-01-20
  • 打赏
  • 举报
回复
急!
myxfang 2003-01-19
  • 打赏
  • 举报
回复
谁能解决,200分就全部给他
myxfang 2003-01-18
  • 打赏
  • 举报
回复
没人用过吗
myxfang 2003-01-18
  • 打赏
  • 举报
回复
to:jianling0538(zjl)
我试过一样的,同样ado都可以
jianling0538 2003-01-18
  • 打赏
  • 举报
回复
你的存储过程有问题,应把返回值作为过程的一个输出参数定义,用out关键字,如下:
create PROCEDURE dbo.sp_log
@vId int,
@vPer_name varchar(10),
@vOper_menu varchar(20)='',
@vOper_comp varchar(15)='',
@myId tinyint out
AS
begin transaction
if @vId=0
insert into oper_log(per_name,oper_menu,oper_time,oper_computer)values(@vPer_name,@vOper_menu,{Fn Now()},@vOper_comp)
else
update oper_log set oper_endtime={Fn Now()}, operate=@vPer_name where oper_id=@vId
commit
set @myId=@@identity
myxfang 2003-01-18
  • 打赏
  • 举报
回复
都是0
fyje 2003-01-18
  • 打赏
  • 举报
回复
调试一下,看TSqlStoredProcedure的返回值是什么,如果他的返回值正确,就很容易处理了
gzyzljk 2003-01-18
  • 打赏
  • 举报
回复
dbexpress不太稳定的......
up
d_chl 2003-01-18
  • 打赏
  • 举报
回复
up
蝈蝈太阳 2003-01-18
  • 打赏
  • 举报
回复
UP
mrlining 2003-01-18
  • 打赏
  • 举报
回复
是要得到@@identity的值,如果是的话,用return怎么能用procedure,就该用function
myxfang 2003-01-18
  • 打赏
  • 举报
回复
看来csdn是没有高手了?

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧