while (0=0) 
begin
fetch next
from oper
into @operator,@f1,@f2,@f3,@f4,@fyinye,@bulidwater,@fbulid,@paiw
if(@@fetch_status<>0)break
end
这个循环过程应该返回最后条记录的值,但不会返回所有记录的值。

解决方案 »

  1.   

    declare oper cursor for
    SELECT OPERATOR.OperatorName, SUM(FEE.Fee) AS Expr1, SUM(FEE.life) AS Expr2, 
          SUM(FEE.town1) AS Expr3, SUM(FEE.town2) AS Expr4, SUM(FEE.town3) AS Expr5, 
          SUM(FEE.jiyin) AS Expr6, SUM(FEE.build) AS Expr7, SUM(FEE.paiw) AS Expr8
    FROM FEE INNER JOIN
          OPERATOR ON FEE.Cashier = OPERATOR.operatorId
    WHERE (FEE.PayDate = '2002-11-09')
    GROUP BY OPERATOR.OperatorName
     open oper
     fetch next from oper into ..... 
     WHILE @@FETCH_STATUS = 0
       begin      ....
         fetch next from oper into ..... 
       end     close oper 
        DEALLOCATE oper
      

  2.   

    TO:rdsdh() 对的现在可以输出了但确实只输出最后一行应该怎么办呢?
    TO:caiyunxia(monkey) 你的方法好像也得不到全部的记录呀。