各位高手,请帮我看看循环段内:在每一个条件下的循环次数大于1次时,则得出的结果值也就循环了一次???

解决方案 »

  1.   

    你的游标是:
    select property from callpolicer where casecode=@casecode
    其中返回值是property,象你所说的情况个一报案人,两个受害人那么返回是:
    报案人、受害人、受害人
    后面遍历游标时,报案人没问题,那你怎么保证第一次的受害人取张三,第二次取李四?
    也就是说
    select @victim=@victim+name+' ',@vicsex=@vicsex+sex+' ',@vicage=@vicage+convert(varchar(4),age)+' ',@stayaddress=@stayaddress+households+' ' from callpolicer where casecode=@casecode and property='受害人'
    返回的纪录不唯一。修改建议:
    把你的callpolicer表的主键加入游标里,假设主键为id赋值给@id
    三种情况每一句的where 改为 id=@id