• PB 获取或操作数据窗口语句的方法


    1、setsqlselect用法:

    ls_select=getsqlselect    //通过getsqlselect取得当前数据窗口的查询语句

    ls_where="  "          //给变量ls_where赋值,将所要添加的限定条件赋给此变量,但应考虑到select子句与where子句之前的空格

    dw_1.setsqlselect(ls_select+ls_where)     //通过setsqlselect将生成的查询语句更新至数据窗口

    dw_1.event ue_retrieve()

    2、dw_1.modify用法:

    Old_Select=dw_1.Describe("DataWindow.Table.SQLSelect ")

    ls_select=getsqlselect

    ls_where="  "

    dw_1.modify("DataWindow.Table.Select='" + ls_select+ls_where + " ' ")

    dw_1.settransobject(SQLCA)

    dw_1.retrieve()

    dw_1.object.DataWindow.Table.Select=Old_Select

    更新完后可用以下语句取出select语句查看并调试

    messagebox("",string(dw_1.Describe("DataWindow.Table.SQLSelect ")))

    网上有贴子说此语句只能更改DW查询语句中的where子句,暂未证实

    3、dw_1.object.DataWindow.Table.Select=" " 用法:

    此种用法与dw_1.modify()基本相同,只是使用dw_1.modify()时,在()中需要使用双引号把其中的DataWindow.Table.Select以及其后的变量引起来,需要考虑引号的对应关系问题,而此种用法则相对简单一些

    Old_Select=dw_1.Describe("DataWindow.Table.SQLSelect ")

    ls_select=" select …… from ……"

    ls_where=" ……"

    ls_having=" …… "

    ls_groupby=" …… "

    dw_1.object.DataWindow.Table.Select=ls_select+ls_where+ls_having+ls_groupby

    dw_1.settransobject(SQLCA)

    dw_1.retrieve()

    dw_1.object.DataWindow.Table.Select=Old_Select

    感觉此语句最为强大,用起来也顺手,我喜欢

    注意:在动态修改sql语句时,select段可以修改,但应确保select后面跟随的字段个数以及类型应与建立数据窗口时选择的字段个数和类型相同,否则报错

  • 相关阅读:
    js基础
    js 一个数组改成两个一组两个一组
    微信中h5网页跳转小程序
    微信“分享到朋友圈”wx.onMenuShareTimeline() 和 onMenuShareAppMessage 分享给朋友
    小程序 服务器端调用接口获取小程序太阳码 前端接收问题
    小程序calc不生效的原因
    Delphi App集成DPush
    kbmMW Server服务端集成DPush推送
    ChinaCock扫描Demo存在闪退问题的解决方法
    Delphi 原生支持JSON的链式写法
  • 原文地址:https://www.cnblogs.com/Bokeyan/p/12058284.html
Copyright © 2020-2023  润新知