| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 747 人关注过本帖
标题:如何去除CURSOR里LAST后面的空记录行??
收藏  订阅  推荐  打印 
orliubc
Rank: 2
等级:注册会员
帖子:69
积分:840
注册:2007-11-18
如何去除CURSOR里LAST后面的空记录行??

如下: 结果集中有6 条记录
执行之后,窗口中除6条记录外,还有第 7 条空记录(只显示字段)

该如何去除这个LAST后面的空记录显示?
谢谢
(想着用@@CURSOR_ROWS和FOR做,就是做不出来,偶SQL新人,,请教!!!)

USE TEST
GO
IF EXISTS (SELECT name FROM sysobjects Where name='customers_proc')
DROP PROCEDURE customers_proc
GO
CREATE PROCEDURE customers_proc
AS
DECLARE customers_cur scroll CURSOR FOR SELECT * From customers
OPEN customers_cur
FETCH NEXT FROM customers_cur
WHILE @@FETCH_STATUS=0
       BEGIN FETCH NEXT FROM customers_cur
       END
CLOSE customers_cur
DEALLOCATE customers_cur
GO
EXECUTE customers_proc
GO
搜索更多相关主题的帖子: CURSOR  LAST  记录  
2007-11-22 18:42
缘吇弹
Rank: 12Rank: 12Rank: 12
来自:A与C之间
等级:版主
威望:43
帖子:3024
积分:33034
注册:2007-7-2

CREATE PROCEDURE customers_proc
AS
DECLARE customers_cur scroll CURSOR FOR SELECT * From customers
OPEN customers_cur
DECLARE @i int
SET @i=1
WHILE @i<=6
       BEGIN
            FETCH NEXT FROM customers_cur
            SET @i=@i+1
       END
CLOSE customers_cur
DEALLOCATE customers_cur
GO
EXECUTE customers_proc
GO

Repeat  Life=Study;Until (death);        //<a href="http://hi.baidu.com/yzidan" target="_blank"><font color="green">***>[B]欢 迎 光 临 我 的 博 客[/B]
2007-11-22 22:55
orliubc
Rank: 2
等级:注册会员
帖子:69
积分:840
注册:2007-11-18

谢谢版主,受教!

@i<=6是未知的,换成@i<=@@CURSOR_ROWS-1

low water low live
2007-11-23 06:57
purana
Rank: 12Rank: 12Rank: 12
来自:广东-广州
等级:版主
威望:66
帖子:6040
积分:61390
注册:2005-6-17

不错.

我的msn: myfend@hotmail.com
2007-11-23 09:42
FFEEDD
Rank: 4
等级:高级会员
帖子:640
积分:6644
注册:2007-11-16

select * from goods
Open G_curs  --打开游标
If @@error=0  --判断游标是否打开
Begin
Fetch next from G_curs --从游标中提取一行数据
while @@Fetch_status=0  --如果表中还有记录继续循环
   Begin
   Fetch next from
G_curs
   End
Close G_curs --关闭游标
DealLocate G_curs --释放游标
End
------------------------------------------------------------------------
受教了,感觉这样做意义不很大,不过学了一招哈哈
提个建议,请在语句后面加上注释,我们新手好看懂啊

Behind the glory of a lonely words
荣耀的背后刻着一道孤独......
2007-11-24 13:51
good_good_study
Rank: 1
等级:新手上路
帖子:21
积分:330
注册:2007-11-24

@i<=6是未知的,换成@i<=@@CURSOR_ROWS-1
这个应该改一下,@i<=6是未知的,换成@i<=@@CURSOR_ROWS
也就是把“-1”去掉
2007-11-24 16:26
good_good_study
Rank: 1
等级:新手上路
帖子:21
积分:330
注册:2007-11-24

刚才是我错了。对不起大家啊,我重新运行时没有删除原来的存过程!
2007-11-24 17:24
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.086225 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved