pb 中sql语句的疑问?

jiery666 2012-08-25 09:41:11
在窗口的open事件中 有个sql语句
string gs_AccZxxx是全局变量 而且可以确保已经有值了(8,12)
但是执行下面这句怎么就没值了呢?

select count(*) into :list_sum from bm_zxxx where id in (:gs_AccZxxx)and FClose=0
我还用了
select count(*) into :list_sum from bm_zxxx where id in (8,12)and FClose=0 这个就有值了
...全文
197 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiery666 2012-08-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
在PB的 帮助里索引 dynamic sql 3 什么的.
[/Quote]

看了一下 但是不懂怎么运用?
帮我转换一下
我的id是int型
gs_AccZxxx 是string型
现在得到gs_AccZxx = '8,12,23'

怎么将其转为int型 比较
select * from bm_zxxx where fclose=0 and id in (gs_AccZxxx)
wag_enu 2012-08-29
  • 打赏
  • 举报
回复
在PB的 帮助里索引 dynamic sql 3 什么的.
wag_enu 2012-08-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
嗯 我的id是int型
gs_AccZxxx 是string型
现在得到gs_AccZxx = '8,12,23'

怎么将其转为int型 比较

SQL code
select * from bm_zxxx where fclose=0 and id in (gs_AccZxxx)
[/Quote]

这种情况要用动态SQL 3或4....
嵌入式SQL 语句是处理不了的.
网络橘子 2012-08-29
  • 打赏
  • 举报
回复
用数组
jiery666 2012-08-28
  • 打赏
  • 举报
回复
嗯 我的id是int型
gs_AccZxxx 是string型
现在得到gs_AccZxx = '8,12,23'

怎么将其转为int型 比较
select * from bm_zxxx where fclose=0 and id in (gs_AccZxxx)
hffah0518 2012-08-27
  • 打赏
  • 举报
回复
最后一层回答的精辟,楼主的问题就是数据类型的匹配问题。
  • 打赏
  • 举报
回复
left(ls_xxx,len(ls_xxx)-1)
或者
left(ls_xxx,len(ls_xxx)-len(','))
jiery666 2012-08-26
  • 打赏
  • 举报
回复
1,2,3,4,5,
如何去除最后一个,
得到1,2,3,4,5
zhangyangziwo 2012-08-26
  • 打赏
  • 举报
回复
把全局变量,改成结构或者数组吧

改成结构的话,将结构里的各个值作为变量,放到sql语句中。

改成数组的话,应该可以直接放到sql语句中吧,我知道dw是可以用数组作为条件的。
jiery666 2012-08-26
  • 打赏
  • 举报
回复
那如何将全局变量gs_AccZxxx 分拆呢?
比如 gs_AccZxxx = "1,2,3,4,10,11,12"
怎么拆分为单个的变量????
得到的结果为1 2 3 4 10
wag_enu 2012-08-25
  • 打赏
  • 举报
回复
int i1, i2

i1 = 8
i2 = 12

select count (*) into :list_sum from bm_zxxx where id in (:i1, :i2) and FClose = 0;

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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