前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

PowerBuilder中使下拉列表框可以和数据关联 程序开发 - 电脑知识网 首 页硬件知识软件知识电脑百科网络知识操作系统应用软件杀毒安全电脑维修互联网数码产品程序开发网络设备外设知识笔记本手机通讯游戏知识数字家电多媒体配件知识耗材知识考试认证电脑常识电脑组装网站运营免费资源 您的位置: 电脑知识网 → 程序开发 在PowerBuilder中使下拉列表框可以和数据关联电脑知识网目录: → 程序开发 发布时间:2010-5-15 电脑知识网分分享在PowerBuilder中使下拉列表框可以和数据关联电脑知识,最全的程序开发知识库,感谢作者发布在PowerBuilder中使下拉列表框可以和数据关联,如果您喜欢本篇作文可以收藏起来,电脑知识网每天坚持更新程序开发,欢迎大家投稿得现金. 在PowerBuilder中使下拉列表框可以和数据关联 关键字:数据库知识 电脑知识网www.qc99.com/diannao 在从事使用PowerBuilder进行数据库开发的过程中,常常碰到要使用列表框来选择数据,但是普通的下拉列表框并没有提供和数据相连接的方法,而使用数据窗口的子下拉列表框来代替又显得有些别扭.下面介绍一种好看又好用的方法.  可能大家已经想到了吧,使用指针把要连接的数据一条一条地从select 语句的查询结果中fetch 出来,然后再把数据additem到下拉列表框中去.  虽然这也是一种可行的方法,但是他的速度很不能令人满意,太受数据量的影响.  我们可以利用PowerBuilder 最推崇的数据窗口技术作为数据库和下拉列表框连接的桥梁,这种方法即方便快速又安全可靠.好了,下面制作的下拉列表框,在完成之后会带给你许多意想不到的方便!一. 打开PowerBuilder的"select user object"画笔,选择<new>, 在"new user object"中选择"Visual"类的"Standard"项并按下<ok>, 在弹出来的"Select Standard Visual Type"对话框中选择列表中的 "dropdownlistbox"项并按下<ok>. 接着加入一些实例变量,选择"Declare"菜单项的"Instance Variables.."加入变量的声明: datastore ids_user int il_row 并按下<ok>. 我们要对新的对象进行一些限制,在对象的"constructor"事件中加入 程序: sorted = false //这句非常必要reset()二. 好了,现在到了最关键的时候了,我们要把数据检索出来放到ids_user变量里.选择菜单"Declare"项的"User Object Function",在弹出来的对话框中按下<new>新建一个对象函数命名为: init参数有一个:sqlstr string返回值为整型:integer现在我们需要动态地创建datastore在init函数中写下://integer init(sqlstr string) 开始long ll_rowcountlong ll_rowstring ls_sqlstring errorsstring ls_returnids_user = create datastore//根据sql语句产生数据窗口ls_return = sqlca.SyntaxFromSQL(sqlstr, 'style(type=grid)',errors)//sql语句有错误if len(errors) > 0 thenmessagebox('错误', errors)return -1end if//根据语法动态创建数据窗口ids_user.create(ls_return)ids_user.settransobject(sqlca)ll_rowcount = ids_user.retrieve()//无数据返回if ll_rowcount=0 then return -1end if//把数据插入控件for ll_row = 1 to ll_rowcount this.additem(string(ids_user.Object.Data[ll_row,1])) next//成功返回0return 0//integer init(sqlstr string) 结束现在下拉列表框已经能显示数据了,但是我们在选择数据的同时往往需要的不是它显示出来的值,比如显示的是人员姓名,而我们需要的是工号,难道再使用select语句把需要的数据检索出来吗?有了下面的程序,我们就不必头痛了.重复上面建立函数的步骤,新建一个名为getdata的user object函数,返回值为"any"并在函数中写下程序://any getdata() 开始any la_returnlong ll_rowif text = '' thenreturn ''end if//没有选择或没有检索到数据if ids_user.rowcount() = 0 or il_row = 0 thenreturn ''end if//在缺省情况下返回第二列的数据la_return = ids_user.Object.data[il_row, 2]return la_return//andy getdata() 结束现在还不能返回正确的数据,还需要一个函数setidx(idx int)程序如下://setidx(idx int) 开始il_row = idx //setidx(idx int) 结束现在这个user object已经完成了,我们来做一下试验试一试.新建一个应用app_test,一个窗口w_main,按照刚才的方法创建一个user object:uo_dbdropdownlistbox,放入w_main中在app_test的open事件中写下连接数据库的语句并加上open(w_main)在w_main的open事件中写下:int li_resultli_result = uo_1.init('select name, id from sysobjects')在uo_1的selectionchanged事件中写下:setidx(index)messagebox('提示', "看" + string(this.getdata()))这时我们的用户对象已经能根据选择的name返回相应的id了. 《在PowerBuilder中使下拉列表框可以和数据关联》相关电脑知识 在PB中如何使用Microsoft Outlook发送邮件JDBC的数据库事务VFP中实现在浏览器中运行应用程序方法如何从MySQL数据库表中检索数据Oracle 816中如何启动Enterprise ManagerPB动态报表格式自由定义的实现在ORACLE里用存储过程定期分割表使用Oracle9i数据库的注意事项ACCESS加密解SQL Server“数据库维护计划”别让MsgBox中断了一些Background的处理作业DELPHI中操作ACCESS技巧集 添加《在PowerBuilder中使下拉列表框可以和数据关联》到书签: ·上一篇:Visual FoxPro 9.0更强大了 ·下一篇:ASP的日期和时间函数示例 推荐电脑知识三星i908的一系列问题! 刺客信条的配制 品牌电脑用的几大件都是他们自己的牌子?还是是杂牌子的? 双击ADSL没反映``` 请高手指点下华硕F8H86Va-SL这款机器性价比如何,在推举一些其他的本本 ASP的日期和时间函数示例 Hibernate:利用配置文件生成数据库 我的电脑自从光盘装了CORLDRAW10后就反应迟钝,删了后也没用怎么办? 电脑设了密码怎么变会原来系统 winxp硬盘重新分区 笔记本电脑商一个图标是什么? 九招让你的硬盘更快、系统更稳 3ds max 中摄像机视图的创建步骤是什么? 最新免费电脑知识 范文网 网站地图 合作伙伴 隐私保护 版权声明 联系我们电脑知识网,电脑爱好者之家与您分享在PowerBuilder中使下拉列表框可以和数据关联,解决电脑故障,电脑问题,分享电脑维修技巧,提供最全的程序开发学习库,电脑知识网是您学习电脑知识的最好选择! www.qc99.com/diannao 电脑知识网 版权所有 &copy;2005-2012