| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1647 人关注过本帖
标题:如何去除CURSOR里LAST后面的空记录行??
只看楼主 加入收藏
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
收藏
 问题点数:0 回复次数:6 
如何去除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: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
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);
2007-11-22 22:55
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
收藏
得分:0 
谢谢版主,受教!

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

low water low live
2007-11-23 06:57
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
不错.

我的msn: myfend@
2007-11-23 09:42
FFEEDD
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2007-11-16
收藏
得分:0 
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
专家分:0
注 册:2007-11-24
收藏
得分:0 
@i<=6是未知的,换成@i<=@@CURSOR_ROWS-1
这个应该改一下,@i<=6是未知的,换成@i<=@@CURSOR_ROWS
也就是把“-1”去掉
2007-11-24 16:26
good_good_study
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-11-24
收藏
得分:0 
刚才是我错了。对不起大家啊,我重新运行时没有删除原来的存过程!
2007-11-24 17:24
快速回复:如何去除CURSOR里LAST后面的空记录行??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034532 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved