翰文个人计算机学习网
  • 翰文快讯
  • 翰文PC快讯
  • 综合软件区
  • 操作系统
  • 注册表解析
  • Windows系列
  • Unix/Linux
  • 其他系统
  • 应用软件
  • 微软MS Office
  • WPS Office
  • 多媒体软件
  • 图像处理
  • Photoshop
  • Painter
  • Illustrator
  • CorelDRAW
  • 三维空间
  • AutoCAD
  • 3DMAX
  • 3DMAYA
  • 硬件资源
  • 攒机指南
  • 硬件超频
  • 维修指南
  • 网络资源
  • 在线通讯
  • 网上冲浪
  • 浏览器中心
  • 网络故障解析
  • 病毒资料
  • 病毒通报
  • 病毒防治
  • 病毒常识
  • 黑客技巧
  • SQL/MySQL
  • Oracle
  • Delphi
  • 编程资源
  •  C/C#/C++/VC++/VC.NET
  •  Basic/VB/VB.NET/VBScript
  •  FoxBasic/FoxPro/VF/VF.NET
  •  Java/JavaScript
  • PowerBuilder
  • 热门词:
  • 翰文计算机学习网首页
  • >
  • PowerBuilder
  • >
  • PB 6.0 的下拉列表框功能增强
  • PB 6.0 的下拉列表框功能增强

  • 资源来源:
  • HW-PCS.ORG
  • 资源作者:
  • 翰文计算机学习网
  • 人气指数:
  • [4850]
  • 关键词:问题工具

      Power Builder 中提供的许多工具对象和函数,功能强大、使用方便,使开发人员的工作更加灵活、简洁。同时,可以使用特定数据库管理系统专用的SQL语句,大大增强了程序操纵和访问数据库的能力。但在使用中,笔者发现PB 的下拉列表框(DropDownListBox)的Item在取固定值时较为方便,而需从数据表中取变化的值则相对较烦琐,经笔者分析,编制如下函数,实现了上述功能,希望给广大PB编程爱好者一点参考。

      具体实现步骤:

      1. 新建函数DDLB_FROM_TAB,参数分别如下:

      参数 类型 传递方式 说明
      tab_name string value 表名
      col_name string value 待取值列名
      filt_colname string value 条件列名
      filt_ch string value 比较符
      filt_value string value 条件值
      ddlb_name dropdownlistbox value 下拉列表框名

      2.添加函数脚本:

    string ls_add_string, ls_select_string
    int li_pos

    DECLARE dyn_cursor DYNAMIC CURSOR FOR sqlsa;
    ls_select_string = "SELECT " + col_name + "
    FROM " + tab_name + " WHERE "
    + filt_colname + filt_ch + filt_value
    //此处需注意条件字段类型匹配问题
    PREPARE sqlsa FROM :ls_select_string using sqlca;

    OPEN DYNAMIC dyn_cursor;
    if sqlca.sqlcode 0 then
    MessageBox("数据库错误!",
    sqlca.sqlerrtext)
    return sqlca.sqlcode
    end if

    ddlb_parm.SetRedraw(false)
    ddlb_parm.Reset( )
    Do While sqlca.sqlcode = 0
    Fetch dyn_cursor into :ls_add_string;
    if sqlca.sqlcode = 0 then
    messagebox("",ls_add_string)
    ddlb_parm.AddItem(ls_add_string)
    elseif sqlca.sqlcode 0 then
    MessageBox("数据库错误!",
    sqlca.sqlerrtext)
    return sqlca.sqlcode
    else
    exit
    end if
    Loop

    ddlb_parm.SetRedraw(true)
    Close dyn_cursor;

    return 0

      3.程序调用自定义函数。由于函数参数引用为字符串,因此当值参是字符串时,需用双重引号,否则,程序运行时会提示错误。

      以上程序在windows95、Power Builder 6.0下调试通过。
     

    感谢您对翰文计算机学习网的支持

  • 关于我们
  • 联系方式
  • 成功案例
  • 技术报价
  • RSS索引
  • 网站地图
  • 翰文电脑学习网
  • MSN:LNDDYGYC9@HOTMAIL.COM Powered by 翰文个人计算机学习网 版权所有,未经允许不得转载
    ICP备案号码:[沪ICP备12020678号] Copyright 2008-2020 HW-PCS.ORG, All Rights Reserved.