关于VF+SQL中的存储过程返回值问题。
一:我在SQL7上建立了一个存储过程如下:
CREATE PROCEDURE [del_tr_chpch] @chpchid31 int,@Your31 char(1) output
AS
begin
declare @id31 bit
select @id31 = dj from tr_chpch where (chpchid = @chpchid31)
if @id31 = 0
begin
delete from tr_chpch where (chpchid = @chpchid31)
set @Your31 = '0'
end else
set @Your31 = '1'
end
二:我在VF端的调用如下:
chpchid31 = tr_chpch.chpchid
m1 = ''
sqlcom31='exec del_tr_chpch '+ ' ?chpchid31' +', ?@m1'
=SQLEXEC(myconnect,sqlcom31)
IF m1 = '0'
WAIT "删除成功!" WINDOW AT 17,45 NOWAIT TIMEOUT 1
ELSE
MESSAGEBOX('此记录未能删除!')
ENDIF
三:结果是:
在VF中的m1的值始终是m1 = ''
但是如果现在删除掉存储过程中的delete from tr_chpch where (chpchid = @chpchid31)这一句,
则在VF中的m1的值就会返回m1='0'或m1='1' 。
请问这是为什么?到底是存储过程写错了,还是vf中的调用语句写错了?