标题:谁能解决这个存储过程的问题!!
取消只看楼主
wrcyl
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-8-19
 问题点数:0 回复次数:2 
谁能解决这个存储过程的问题!!
谁能解决这个存储过程的问题!!
这个问题实在是太搞死人了,弄了好久都没有解决
真的是找到的地方

CREATE PROCEDURE wrcyl_newscount
@w_tj bit,
@w_title varchar(50),
@w_faid int,
@w_allid varchar(50)
 AS
set nocount on
declare @w_str varchar(200);
--set @w_allid='0,1'
set  @w_str=' select count(id) from [w_news] where id>0'
 if @w_tj=1
    begin
         set @w_str=@w_str+' and n_tj=1'
   end
   if @w_faid<>0
     begin
      set @w_str=@w_str+' and n_faid='+ltrim(str(@w_faid))
    end
  if @w_allid<>null and  @w_allid<>'' and @w_allid<>'null'
    begin
     set @w_str=@w_str+' and n_allid like ''%'+ltrim(str(@w_allid+))'%'''
    end
  if @w_title<>null and @w_title<>'' and @w_title<>'null'
    begin
     set  @w_str=@w_str+' and n_title like ''%'+ltrim(str(@w_title))+'%'''
    end
--select count(id) from [w_news] where id>0 and n_allid like '%'+@w_allid+'%'
--set  @w_str=' select count(id) from [w_news] where n_allid like ''%'+@w_allid+'%'''
exec(@w_str)
--select @@w_str
GO


只要@w_allid 里面出现了除数字以外的其它字符就会出错
为什么????
它明明是varchar 型的啊!!!
搜索更多相关主题的帖子: 存储过程 
2008-08-24 13:26
wrcyl
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-8-19
得分:0 
这个问题很急,请高手快点帮忙解决一下
这个问题很急,请高手快点帮忙解决一下
谢谢啦

[url=http://]国网数据 807[/url]
Q Q:   4261732
2008-08-24 13:26
wrcyl
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-8-19
得分:0 
还是球球厉害
str()把这个东西去掉就搞定了
谢谢啦

[[it] 本帖最后由 wrcyl 于 2008-8-25 13:05 编辑 [/it]]

[url=http://]国网数据 807[/url]
Q Q:   4261732
2008-08-25 13:02
  • 3
  • 1/1页
  • 1



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-229672-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019914 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved