D
Dick
Unregistered / Unconfirmed
GUEST, unregistred user!
我最近使用ODBCExpress做开发,遇到了一个奇怪的问题:
系统在调用服务器SQLServer7的存储过程的时候,怎么也得不到返回值。
我的存储过程很简单,就是插入一组数据,然后返回那个自增长的Identity
字段。下面是存储过程的代码:
CREATE PROCEDURE SP_INSERT_BRDA
@BRBS char(10),--病人标识
@BRXM char(10),--姓名
@XB char(1),--性别
@CSN smallint,--出生年
@DZ varchar(64),--地址
@YB char(6),--邮编
@DH varchar(16),--电话
@BRDAH int OUTPUT--病人档案号,返回值
AS
if ((@XB='') or (@XB is null)) select @XB='M'
if (UPPER(@XB)<>'M' and UPPER(@XB)<>'F')
begin
select @XB='M'
end
if ((@CSN=0) or (@CSN is null)) select @CSN=2000
if @BRXM='' select @BRXM=null
if @DZ='' select @DZ=null
if @YB='' select @YB=null
if @DH='' select @DH=null
insert T_BRDA(BRBS,BRXM,XMPY,XB,CSN,DZ,YB,DH,FTPFWQ,TXCFML)
values(@BRBS,@BRXM,@XMPY,@XB,@CSN,@DZ,@YB,@DH,@FTPFWQ,@TXCFML)
select @BRDAH=@@IDENTITY
print @BRDAH
按理说,这个调用是很普通的调用。可是当我用ODBC Express或者
ODBC98来调用这个存储过程的时候,在ExecProc之后返回的@BRDAH
始终是0,而数据库中又实在是插入了。后来我用BDE+ODBC,什么也
没有改,就硬是对了。我真是不知道怎么回事。
我将自己的代码发给ODBCExpress站点的技术支持人员,他说我的代码
确实没有问题,但是怎么得不到返回他也不清楚。
这种类型的存储过程在我的系统要大量使用(插入一组数据,返回自增长
字段的值),所以我没有办法在这样的应用中采用ODBCExpress之类的纯
ODBC构件,为打包带来麻烦。
到底怎么回事,还望对这些构件使用有经验的大侠指点迷津。
系统在调用服务器SQLServer7的存储过程的时候,怎么也得不到返回值。
我的存储过程很简单,就是插入一组数据,然后返回那个自增长的Identity
字段。下面是存储过程的代码:
CREATE PROCEDURE SP_INSERT_BRDA
@BRBS char(10),--病人标识
@BRXM char(10),--姓名
@XB char(1),--性别
@CSN smallint,--出生年
@DZ varchar(64),--地址
@YB char(6),--邮编
@DH varchar(16),--电话
@BRDAH int OUTPUT--病人档案号,返回值
AS
if ((@XB='') or (@XB is null)) select @XB='M'
if (UPPER(@XB)<>'M' and UPPER(@XB)<>'F')
begin
select @XB='M'
end
if ((@CSN=0) or (@CSN is null)) select @CSN=2000
if @BRXM='' select @BRXM=null
if @DZ='' select @DZ=null
if @YB='' select @YB=null
if @DH='' select @DH=null
insert T_BRDA(BRBS,BRXM,XMPY,XB,CSN,DZ,YB,DH,FTPFWQ,TXCFML)
values(@BRBS,@BRXM,@XMPY,@XB,@CSN,@DZ,@YB,@DH,@FTPFWQ,@TXCFML)
select @BRDAH=@@IDENTITY
print @BRDAH
按理说,这个调用是很普通的调用。可是当我用ODBC Express或者
ODBC98来调用这个存储过程的时候,在ExecProc之后返回的@BRDAH
始终是0,而数据库中又实在是插入了。后来我用BDE+ODBC,什么也
没有改,就硬是对了。我真是不知道怎么回事。
我将自己的代码发给ODBCExpress站点的技术支持人员,他说我的代码
确实没有问题,但是怎么得不到返回他也不清楚。
这种类型的存储过程在我的系统要大量使用(插入一组数据,返回自增长
字段的值),所以我没有办法在这样的应用中采用ODBCExpress之类的纯
ODBC构件,为打包带来麻烦。
到底怎么回事,还望对这些构件使用有经验的大侠指点迷津。