奇怪了,为何我无论用select命令返回了多少条记录,@@cursor_rows总是为0的?
就算在查询分析器中用select命令,看到消息栏中写(所影响的行数为 5 行),但select @@cursor_rows出来的结果还是为0,何解????
请大家救命啊!

解决方案 »

  1.   

    --示例SELECT @@CURSOR_ROWS
    DECLARE authors_cursor CURSOR FOR
    SELECT au_lname FROM authors
    OPEN authors_cursor
    FETCH NEXT FROM authors_cursor
    SELECT @@CURSOR_ROWS
    CLOSE authors_cursor
    DEALLOCATE authors_cursor
      

  2.   


    樓主看看select @@cursor_rows的位置
      

  3.   

    @@cursor_rows返回连接上最后打开的游标中当前存在的合格行的数量
    你用select查询当然返回0,要看select\update\insert\delete请用@@rowcount
      

  4.   

    我是在查询分析器中打入上面两句的
    select top 5 * from goodlist
    select @@cursor_rows下面的结果上半个表返回5条记录,下半个表返回一个0
      

  5.   

    用@@rowcount我上面的帖子已经说的很明白了
      

  6.   

    --try
    select top 5 * from goodlist
    select @@rowcount
      

  7.   

    在查询分析器中打入
    select top 5 * from goodlist
    print @@cursor_rows下面的消息框返回(所影响的行数为 5 行)0
      

  8.   

    @@CURSOR_ROWS
    返回连接上最后打开的游标中当前存在的合格行的数量。@@ROWCOUNT
    返回受上一语句影响的行数。语法
    @@ROWCOUNT返回类型
    integer注释
    任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。
      

  9.   

    谢谢marco08(天道酬勤),终于返回了正确的值了
    也谢谢hinco(桃色德鲁依),终于看清楚了!