| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1224 人关注过本帖
标题:刚学游标,请教导一下,在线等!
只看楼主 加入收藏
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
 问题点数:0 回复次数:8 
刚学游标,请教导一下,在线等!
declare @xx nvarchar(15),@yy nvarchar(15)
declare zz cursor for
select 物品名称,出口规格 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy
while @@fetch_status = 0
begin
     fetch next from zz into @xx,@yy
 print '物品名称'++'   '+'出口规格'
    print @xx+@yy
    end
close zz
deallocate zz



我希望得到的结果是,当我的出口重量 <=100  或 在100到120之间,就不再取下一条记录。在线急等回复,谢谢了。
另:为什么我显示的两个字段结果这什么贴着这么近啊?
图片附件: 游客没有浏览图片的权限,请 登录注册
我希望是像右边那样子的。谢了。
搜索更多相关主题的帖子: 游标 教导 在线 
2008-03-08 09:29
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

declare zz cursor for
select 物品名称,出口规格 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
加上在100和120之间就可以

我的msn: myfend@
2008-03-08 10:13
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
不好意思,应该是当出口重量的合SUM(出口重量)<=100 or 在100与120之间
2008-03-08 10:26
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
要么写select写sum(出口重量)

要么你
select 物品名称,出口规格,出口重量 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
在这把出口重量也输出
fetch next from zz into @xx,@yy,@出口重量变量
set @总重量=@总重量+@出口重量变量
if @总重量 ...条件.
   break  --退出循环.


...
...
--关闭游标.

我的msn: myfend@
2008-03-08 10:40
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
declare @xx nvarchar(15),@yy nvarchar(15)
declare @zz float,@aa float
declare zz cursor for
select 物品名称,出口规格,出口重量 from 轧机班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
set @aa=@aa+@zz
if @aa>=100
begin
while @@fetch_status = 0
begin
     fetch next from zz into @xx,@yy,@zz

    print @xx+@yy+@zz
    end
close zz
deallocate zz


斑猪!请指导一下好吗?搞了半天搞不出来。
2008-03-08 10:55
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
晕死..

我的msn: myfend@
2008-03-08 11:03
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
[bc07] 帮帮吧,哭死

declare @xx nvarchar(15),@yy nvarchar(15)
declare @zz float,@aa float
set @aa=@aa+@zz
declare zz cursor for
select 物品名称,出口规格,出口重量 from 轧机班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
while @@fetch_status = 0
begin
if @aa>=100
begin
     fetch next from zz into @xx,@yy,@zz
END

    print @xx+@yy+@zz
    end
close zz
deallocate zz

[bo]将数据类型 nvarchar 转换为 float 时出错。[/bo]

[[it] 本帖最后由 roy78 于 2008-3-8 11:06 编辑 [/it]]
2008-03-08 11:05
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
declare @xx nvarchar(15),@yy nvarchar(15),@zz nvarchar(8)
declare @aa float
declare zz cursor for
select 物品名称,出口规格,出口重量 from 班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
while @@fetch_status = 0
begin
set @aa=@aa+@zz
if @aa>=100
begin
     fetch next from zz into @xx,@yy,@zz

END

    print @xx+@yy+@zz
    end
close zz
deallocate zz

还是不对呀,高手指点一下吧。当合计值 >=100  或者 在100—120之间时,停止取下条记录
2008-03-08 12:21
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
高手们帮帮忙吧。
2008-03-08 16:55
快速回复:刚学游标,请教导一下,在线等!
数据加载中...
 
   



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

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