早回帖子早得分--帮忙看看这个存储过程的调用错在哪里?
各位:
请帮帮忙!
小女子在DELPHI中使用SQL7.0的存储过程ZUHETJ时,总是出错。请各位看看错在哪里?
存储过程如下:
CREATE PROCEDURE [ZUHETJ]
@sqlstring char(300) ,
@TJNumber int output
AS
declare @sqlstatement char(360)
set @SQLStatement='select @tjnumber= '+@sqlstring
exec(@SQLStatement)
=========
DELPHI中对应的代码如下:
countstr:='count(*) from rcxxt ';
TJStdProc.Prepare ;
TJStdProc.ParamByName('@sqlstring').asstring:=countStr;
TJStdProc.ExecProc ;
TJResult.Caption:=inttostr(TJStdProc.ParamByName ('@TJnumber').asinteger);
其中存储过程控件的PARAMS属性中对参数@sqlstring和@tjnumber的设置如下:
@sqlstring的ParamType:PtInput
@tjnumber的ParamType: pyInputOutput
运行时错误提示为:
must declare the variable '@tjnumber'. process stopped.
谢谢各位!小女子这厢有礼了!
问题点数:20、回复次数:3Top
1 楼marvellin(我)回复于 2001-09-04 10:48:25 得分 0
确实想帮你
可惜不懂sql server
:(Top
2 楼N_chow(Yukon)回复于 2001-09-04 11:11:30 得分 20
請改成這樣試試。
CREATE PROCEDURE [ZUHETJ]
@sqlstring char(300) ,
@TJNumber int output
AS
declare @sqlstatement char(360)
create table #tmp (total int)
set @SQLStatement='select '+@sqlstring
insert into #tmp exec(@SQLStatement)
UPDATE #tmp SET @TJNumber=total From #tmp
DROP table #tmp
Top
3 楼joyzw()回复于 2001-09-04 15:05:17 得分 0
我想知道,我原来的存储过程问题出在哪里?谁能告诉我--?Top




