游标问题 最后一个结果读了两次
Declare   My_Cursor   Cursor      FOR   Select   ClassID   From   CA_Global_Class      where   ChannelID   =@ChannelID   order   by   Sortorder   
 open      My_Cursor 
 Fetch   Next   From   My_Cursor    
 into   @SaveClassID 
 print   @SaveClassID   
 while   @@FETCH_Status=0    
 BEGIN        	 
       	   Fetch   Next   From   My_Cursor    
 	into   @SaveClassID 
 	print   @SaveClassID 
 END 
 Close   My_Cursor 
 deallocate   My_Cursor 
 结果为 
 203 
 202 
 205 
 206 
 206 
 最后一个结果读了两次
------解决方案--------------------最后一次取失败的时候,你还是会打印之前取的值吧
------解决方案--------------------建议你将每次的@@FETCH_Status也打印出来,看两个206,是不是一次是成功的时候打印的,一次是失败的时候打印的,如果是的话,就要改你的while控制语句了
------解决方案--------------------你这样试试看   
 Declare My_Cursor Cursor  FOR Select ClassID From CA_Global_Class  where ChannelID =@ChannelID order by Sortorder   
 open  My_Cursor 
 Fetch Next From My_Cursor  
 into @SaveClassID   
 while @@FETCH_Status=0  
 BEGIN 
    print @SaveClassID 
    Fetch Next From My_Cursor  
 into @SaveClassID   
 END 
 Close My_Cursor 
 deallocate My_Cursor 
------解决方案--------------------呵呵,逻辑是不对的。 
 Fetch后应该马上判断状态并且如果没有数据用Break退出循环。
------解决方案--------------------嗯,既然搞清楚了,就结贴吧,呵呵!!