游标的问题。谢谢

wang131425 2004-04-19 03:59:50
int czybh,a
//得到记录总数
select count(*) into :czybh from 操作员管理;
//记录总数加1给a
a=czybh+1
int czybh4
//利用游标检索编号
declare cursor1 cursor for select 操作员编号 from 操作员管理;
//打开游标
open cursor1;
//执行游标赋值给变量czybh4
fetch cursor1 into :czybh4;
//如果检索成功进行循环
do while sqlca.sqlcode=0
//若czybh4等于a,则把a加1赋值给a
if czybh4=a then
a=a+1
end if
fetch cursor1 into :czybh4;
loop
//关闭游标
close cursor1;
我想问一下。if czybh4=a 这个可能成立吗?还有就是这个游标在这的作用。如果只是为了取得编号的话。我觉得用这条语句就够了://记录总数加1给a
a=czybh+1。谢谢
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
thelazyman 2004-04-19
  • 打赏
  • 举报
回复
是的,这种写法有点"笨拙"!
其实是获得表中最大编号再加1

其实可不用游标,简单用sql语句即可

int czybh,a
select max('操作员编号') into :czybh from '操作员管理';
a=czybh+1
yuhanchen 2004-04-19
  • 打赏
  • 举报
回复
感觉这种写法有什么意义呢, 一个是得到数量,一个是得到编号,有联系吗。如果编号不是顺序号,而是一个字符串怎么把,不能这样写。
thelazyman 2004-04-19
  • 打赏
  • 举报
回复
如果只用 a=czybh+1
则a的值有可能跟czybh的值相同!
wang131425 2004-04-19
  • 打赏
  • 举报
回复
那这个游标的功能是什么?
向thelazyman所说的。你上面刚好少了一个4。如果我想下次加进去的a=4。那怎么个加法。这时的游标是不是就是这个作用。谢谢
thelazyman 2004-04-19
  • 打赏
  • 举报
回复
"if czybh4=a 这个可能成立吗?"
有可能成立的
a=czybh+1,只是a的值为总数加一
如编号有1,2,3,5,6 总数是5
则a=总数+1 等于6
用游标分别读出编号,就出现编号为6等于a

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧