CREATE proc PTJ_news_search
@C1ID INT,
@WD varchar(255),
@LB INT,
@recordnum INT OUTPUT
as
declare @SQL varchar(255)
set nocount on
begin
if @lb=1
begin
set @SQL='select '+cast(@recordnum as varchar)+'=COUNT(ID) from new where topic like '+''''+'%'+@wd+'%'+''''
end
else
begin
set @SQL='select '+cast(@recordnum as varchar)+'=COUNT(ID) from new where author like '+''''+'%'+@wd+'%'+''''
end
if @C1ID<>0
begin
set @SQL=@SQL+'and C1ID='+CAST(@C1ID AS VARCHAR)
endexecute(@SQL) returnend
GO这个最后的我用ASP提出的时候。。是空的。。
如果我把
'+cast(@recordnum as varchar)+'=COUNT(ID)换成了表中的字段名。一切正常~~
大侠救命~
@C1ID INT,
@WD varchar(255),
@LB INT,
@recordnum INT OUTPUT
as
declare @SQL varchar(255)
set nocount on
begin
if @lb=1
begin
set @SQL='select '+cast(@recordnum as varchar)+'=COUNT(ID) from new where topic like '+''''+'%'+@wd+'%'+''''
end
else
begin
set @SQL='select '+cast(@recordnum as varchar)+'=COUNT(ID) from new where author like '+''''+'%'+@wd+'%'+''''
end
if @C1ID<>0
begin
set @SQL=@SQL+'and C1ID='+CAST(@C1ID AS VARCHAR)
endexecute(@SQL) returnend
GO这个最后的我用ASP提出的时候。。是空的。。
如果我把
'+cast(@recordnum as varchar)+'=COUNT(ID)换成了表中的字段名。一切正常~~
大侠救命~
@C1ID INT,
@WD varchar(255),
@LB INT,
@recordnum INT OUTPUT
as
declare @SQL nvarchar(255) /*注意:声明为nvarchar,而不是varchar*/
set nocount on
begin
if @lb=1
begin
set @SQL='select @recordnum =COUNT(ID) from new where topic like '+''''+'%'+@wd+'%'+''''
end
else
begin
set @SQL='select @recordnum =COUNT(ID) from new where author like '+''''+'%'+@wd+'%'+''''
end
if @C1ID<>0
begin
set @SQL=@SQL+'and C1ID='+CAST(@C1ID AS VARCHAR)
end
--执行查询
EXEC sp_executesql @SQL,N'@recordnum INT OUTPUT',@recordnum OUTPUT
return
end
GO
dim cmd1
set cmd1=server.CreateObject("adodb.command")
with cmd1
.ActiveConnection=connstr
.CommandText="PTJ_news_search"
.CommandType=4
.Prepared=true
.Parameters.append .CreateParameter ("@C1ID",3,1,4,C1ID)
.Parameters.append .CreateParameter ("@wd",200,1,4,wd)
.Parameters.append .CreateParameter ("@lb",200,1,4,lb)
.Parameters.append .CreateParameter ("@recordnum",3,2,4)
set rs2=.execute
end with
RecordNum=cmd1(3)
调的方法不对吗??