没有出错,但就是没有更新,请大家帮忙
declare   @dd   varchar(500) 
 set   @dd= ',38,37,34, ' 
 update   datadoc   set   isdel=convert(int, '1 ')   where   charindex(convert(nvarchar,50,dicid),@dd)> 0 
 select   *   from   datadoc    
 --------------------- 
 以上代码想把表datadoc中dicid为38   37   34   的三条记录设置为isdel=1   也就是已删除的意思,我放在查询分析器运行,为什么不出错,但又没有更新,不知为何,请大家帮忙   
------解决方案--------------------set @dd= '38 ' 
 update datadoc set isdel=1 where dicid=@dd 
------解决方案--------------------測試OK的   
 declare @dd varchar(500) 
 set @dd= ',38,37,34, ' 
 update datadoc set isdel=convert(int, '1 ') where charindex(Cast(dicid As Varchar(50)),@dd)> 0 
 select * from datadoc
------解决方案--------------------update datadoc set isdel=convert(int, '1 ') where charindex(convert(nvarchar(50),dicid),@dd)> 0
------解决方案--------------------set @dd= ',38,37,34, ' 
 update datadoc set isdel=convert(int, '1 ') where charindex(Cast(dicid As Varchar(50)),@dd)> 0 
 select * from datadoc 
 ========================================================== 
 关键在这个返回的所在列位置 
 charindex(Cast(dicid As Varchar(50)),@dd)> 0   
 没看出有错出来```嘎嘎``又学了一招