CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  Pb脚本语言

关于PB游标的问题,高手帮忙!!!!!!!!

楼主aiaiok(小东子~我不入地欲,谁入地域?)2003-07-04 19:13:39 在 PowerBuilder / Pb脚本语言 提问

我在PB中使用游标,由于是在循环中使用,所以系统会无法再定义和使用相同的游标名,如果是直接简单的把它用close关掉也不行。  
  有没有高手教我怎么删除这个游呀?在线等待到8点左右,经测试成功马上给分。 问题点数:0、回复次数:19Top

1 楼klbt(快乐白兔)回复于 2003-07-04 20:12:06 得分 0

贴出代码吧。  
  不提倡使用游标,建议使用数据窗口。Top

2 楼bapi(扒皮)回复于 2003-07-04 20:49:57 得分 0

在PB中,DataStore是游标的最佳替代者,易用性远超游标,而且DataStore本身还拥有众多的方法,游标我只在后台使用,前台基本不用,建议你换成DataStoreTop

3 楼fengzeng(风之子)回复于 2003-07-04 20:54:53 得分 0

建议尽量避免在前台使用游标,要么用存储过程,要么换成DataStore,这样执行效率要快的多!Top

4 楼sun992(大不了)回复于 2003-07-04 20:57:27 得分 0

那位哥哥贴出一例来呀我就是用游的了Top

5 楼cyactiveboy((冷酷有情))回复于 2003-07-04 21:52:15 得分 0

destory   游标名     试试吧  
  Top

6 楼brightstar(反恐精英)回复于 2003-07-05 08:28:56 得分 0

客户端游标使用其一是速度慢,其二是不方便(需要定义大量的变量),其三是异常处理比较困难,比如受其他事务和回滚的影响。  
  建议换DATASTORE,还可以把复杂的SQL封在DATAWINDOW对象里了。  
  每大循环一次DESTORY一次游标,下次循环开始的时候在创建游标,不用改名字。Top

7 楼Awang_126(王小虎)回复于 2003-07-05 08:43:42 得分 0

同意楼上的说法Top

8 楼pangxcai(阿才)回复于 2003-07-05 09:13:37 得分 0

说法:游标、存储过程、数据存储在处理相应的问题时都有很好用处。只是各自的优点不同而已,在试具体情况可以灵活应用,我开始在处理一些问题时应用游标、动态游标很顺手,在一些小的应用程序中可以暂不考虑效率问题,准确正确的处理问题才是根本了,数据存储我也经常使用,也不错,是数据窗口的完美替代者,但它是隐性的,对于存储过程用的不多了,它主要是应用于比较特殊的地方,需要对数据库和应用有很好的把握才可以使用了。处理问题的方法和思路很多,灵活一点。Top

9 楼quqiujie(紫炎)回复于 2003-07-05 09:40:33 得分 0

强烈建议在前台还是不要使用游标,会大大影响执行得效率!  
   
  非得使用游标的话,你可以每次循环DESTORY一次游标,下次循环开始的时候再创建游标  
   
  Top

10 楼thinkinger(只剩浪漫)回复于 2003-07-05 09:49:12 得分 0

实际上PB中是没有destroy游标这样的语句的,只能close   cursor。  
  上面兄弟用数据存储对象的方法很好啊,楼主应该采纳!Top

11 楼aiaiok(小东子~我不入地欲,谁入地域?)回复于 2003-07-07 09:14:35 得分 0

嗯谢谢大家的意见,至于上面所说了DESTORY这个语句我试过了,不能运行,应该和楼上说的一样,PB游标中应该没有这个语句。那能不能请大家给出一个DATASTORE的例子呀,能有两个表关联,每个表取两、三个字段就行了。  
  请尽量写得详细些,谢谢了!!!Top

12 楼tchatcha(沧桑,孤独,浪漫,但执着!)回复于 2003-07-07 09:16:14 得分 0

贴出代码Top

13 楼tchatcha(沧桑,孤独,浪漫,但执着!)回复于 2003-07-07 09:19:39 得分 0

DATASTORE的例子  
   
  DATASTORE   ldst_try1  
  long   ll_count,i  
  ldst_try1   =   create   DATASTORE  
  ldst_try1.dataobject   =   'd_try1'//建一个数据窗口对象  
  ldst_try1.settransobject(sqlca)  
  ldst_try1.retrieve()  
  ll_count   =ldst_try1.rowcount()  
   
  for   i   =1   to   ll_count()  
  中间自己写,与数据窗口控件一样  
  nextTop

14 楼aiaiok(小东子~我不入地欲,谁入地域?)回复于 2003-07-07 09:36:37 得分 0

那如果我的数据窗口对象中的列是动态的,也就是说我的窗口对象也是动态生成的,这个动态生成数据窗口对象的方法是什么啊?生成后,的相关语句要怎么写啊?麻烦你啦大哥。Top

15 楼chengjian(程剑)回复于 2003-07-08 14:09:43 得分 0

查询以下两个函数:  
  SQLCA.SyntaxFromSQL()  
   
  DW.Create()Top

16 楼dada1979(达达)回复于 2003-07-09 09:29:56 得分 0

先关闭游标,在销毁游标  
  CLOSE   cursorname;  
  DEALLOCATE   cursorname;Top

17 楼baoqiangwang(我是一只小小鸟)回复于 2003-07-11 09:11:38 得分 0

我建议你不要用油标  
  做一个存储过程即datastore  
  先把数据检索到datastore中然后  
  for   i=1   to   datastore.rowcount()  
  取值到相应的地方去  
  next  
   
  Top

18 楼wooaoo(永远不放弃)回复于 2003-07-12 18:31:34 得分 0

我也在for循环里使用过,好想没什么问题阿  
   
  贴出代码看看Top

19 楼txchen(上上签)回复于 2003-07-12 20:38:28 得分 0

最好不要用游标,PB的数据窗口不是很方便吗?Top

相关问题

  • pb中游标的使用
  • pb中游标的声名和使用?
  • 游标
  • 游标
  • 游标?
  • 请问,我在pb里这样有游标怎么不行呀!?
  • PB大虾速进,关于游标的问题!!
  • PB中怎么样定义游标变量
  • 使用游标出错,请PB达人指点指点
  • 高分求解,关于PB前端處理SQL游标的問題

关键词

  • 语句
  • 数据
  • pb
  • 循环
  • 存储过程
  • 数据存储
  • 应用
  • 游标
  • datastore
  • ldst

得分解答快速导航

  • 帖主:aiaiok

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo