PB对数据窗口的查询语句进行动态修改
2017-03-11 20:00
363 查看
通过setsqlselect、dw_1.modify(DataWindow.Table.Select="")和dw_1.object.DataWindow.Table.Select=""均可对数据窗口的查询语句进行动态修改,但有一些区别
1、setsqlselect用法:
ls_select=getsqlselect //通过getsqlselect取得当前数据窗口的查询语句select……from……,但得不到where子句
ls_where=" " //给变量ls_where赋值,将所要添加的限定条件赋给此变量,但应考虑到select子句与where子句之前的空格
dw_1.setsqlselect(ls_select+ls_where) //通过setsqlselect将生成的查询语句更新至数据窗口
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后面跟随的字段个数以及类型应与建立数据窗口时选择的字段个数和类型相同,否则报错
转自:http://blog.163.com/dj_djd/blog/static/83976802015118442100/
1、setsqlselect用法:
ls_select=getsqlselect //通过getsqlselect取得当前数据窗口的查询语句select……from……,但得不到where子句
ls_where=" " //给变量ls_where赋值,将所要添加的限定条件赋给此变量,但应考虑到select子句与where子句之前的空格
dw_1.setsqlselect(ls_select+ls_where) //通过setsqlselect将生成的查询语句更新至数据窗口
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后面跟随的字段个数以及类型应与建立数据窗口时选择的字段个数和类型相同,否则报错
转自:http://blog.163.com/dj_djd/blog/static/83976802015118442100/
相关文章推荐
- 在PB中动态修改数据窗口DW的SQL语句方法注意事项
- 数据窗口进行动态修改
- PB数据窗口sql语句中like后面怎么跟变量模糊查询
- PB中通过单击数据窗口中的列来对数据进行排序
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- [pb] 如何动态生成数据源为存储过程的数据窗口?整理
- spring 回调jdbc 进行大批量数据 查询,修改,添加
- PB-数据窗口缓冲区与数据修改状态
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- PB中高亮被修改过的数据窗口行
- PB 动态创建数据窗口
- PB datawindows 动态创建数据窗口
- PB如何在Datawindow(数据窗口)中控制列的修改方式
- PB中表的修改对数据窗口和报表的影响的解决办法
- PB实现数据窗口的动态排序
- C#运用ADO.net动态创建excle并进行相应的数据修改显示
- 利用PB动态创建数据窗口
- 利用PB动态创建数据窗口
- PB数据窗口中代码列动态选择两法
- pb 数据窗口 column dropdownlist 动态添加元素 item