在查询分析器中带入参数执行存储过程,可以得到查询结果,但是在vc6.0的程序中,调用这个存储过程的时候,执行到语句
select @sql = 'insert into ##global (code) select dcode from Detail where '+@where+' and dcode in (select tcode from Title) group by dcode having count(dcode)>1' 的时候就报错了.

@where是通过下述方法获得的,

set @where=''
select @where=@where+col+' like ''%'+data+'%'' and ' from #tmp1,#tmp2 where #tmp1.id=#tmp2.id
select @where = left(@where,len(@where) - 4)

例如,在查询分析器中,能得到@where为'name like '%aa%''
但是在vc程序调用时,设置提示信息,显示@where='aa' 

为什么在查询分析器中可以得到正确的值,但是用vc调用的时候,字符串变量却不能得到正确的值呢[em10]