忙了一下午了,一个关于数据过滤的问题

I_Love_IT! 2003-06-05 06:22:26
一个表,想根据其中一列的值提取部分数据到DW,然后往里头写数。

开始,这样做
SetFilter()-->根据行号循环,但Filter后的行数仍保持原来的总行数,而没有变成Filter后的行数,因此当用行号循环时,无法只向符合条件的行里填数;

接着,又这样:
ls_select=dw_1.Describe("datawindow.table.select")
ls_select=ls_select+"where 三个波浪号"列三个波浪号"......总之,光凑波浪号就耗费了两个小时,我恨透了波浪号了!好不容易把波浪号凑好了,可行号还是不改,最后才发现Where子句不能放在order by子句后头,于是又确定order by在整句中的位置,然后根据位置用Replace往句中插Where子句。好不容易构造成了一整句,用dw_1.Modify进行应用,结果dw_1的select语句在插入的where子句后被截了个精光。又试着用“select * from 表 where 列=~'+条件+~' order by 列"这样的没有波浪号的简单句子,dw_1的select语句倒是显示出来了,可行数仍是总行数。

最后,在数据窗口对象中定义检索参数,然后在CODE中RETRIEVE相应的参数,才实现了按规定的条件读数并写数的目标。

我想说的是:对于动态改变DW的数据源,我真得很头痛;在构造SQL语句时,波浪号太可恶了!

先谢谢读完这些话的朋友,如果您竟然明白了我说的是什么,进而要发表高见,我简直太荣幸了。

...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerlxg 2003-06-07
  • 打赏
  • 举报
回复
我也认为带提取参数的数据窗口对象比较好用,我喜欢
207 2003-06-07
  • 打赏
  • 举报
回复
如楼上说
不同数据源的DW + 游标会不会方便点
waterstony 2003-06-06
  • 打赏
  • 举报
回复
波浪号总是是奇数个的,如果最外层和需要解析的引号相同(同为单或双引号)

string impossible = " ~"~~~"~~~~~"i love you!~~~~~"~~~"~" "
klbt 2003-06-06
  • 打赏
  • 举报
回复
波浪号的数量问题确实是pb的难点。
不过最后你的方法是正确的。
鸡翅多 2003-06-05
  • 打赏
  • 举报
回复
如果真的那么麻烦,还不如用:外部数据源的DW + 动态游标???
dotnba 2003-06-05
  • 打赏
  • 举报
回复
好多描述啊
every_one 2003-06-05
  • 打赏
  • 举报
回复
估计是where子句限制的不对吧?

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧