菜鸟问题:紧急,请帮忙

my_yc 2003-11-07 12:21:55
我使用PB在写CURSOR时,如果
string l,s
declare ll cursor for
select nbr,ls from ls_table
where ls between :l and :s
open ll
为什么CURSOR运行之后找不到应该有的数据,
我们查出问题在于l,s传入的参数没有加'',我不能转换成数值,
要求必须是字符串,该如何将L,S的字符串传入到对应的语句中?
...全文
88 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
banalman 2003-12-27
  • 打赏
  • 举报
回复
自己解决了。^_^
my_mtx 2003-12-27
  • 打赏
  • 举报
回复
ok
jb99334 2003-12-27
  • 打赏
  • 举报
回复
up!
my_yc 2003-11-07
  • 打赏
  • 举报
回复
如果按照楼上那么写,SELECT语句中没有‘’,不执行该CURSOR
lmby 2003-11-07
  • 打赏
  • 举报
回复
string s,l
s=trim(sle_1.text)
l=trim(sle_2.text)
my_yc 2003-11-07
  • 打赏
  • 举报
回复
代码在这里
string s,l
s="'"+trim(sle_1.text)+"'"
l="'"+trim(sle_2.text)+"'"
DECLARE jx_C CURSOR FOR SELECT l_nbr,k_nbr,pr_nbr,nbr FROM jx.jx_t_mdf_d_pr
where exch_id=9
and substr(to_char(l_nbr,'00'),2,2)||substr(to_char(k_nbr,'00'),2,2)
between :s and :l
using sqlca;
OPEN jx_C;
lmby 2003-11-07
  • 打赏
  • 举报
回复
贴完整的代码,帮你看看。
my_yc 2003-11-07
  • 打赏
  • 举报
回复
l,s,在初始化的情况下已经赋值,但是。。。
hhua2001 2003-11-07
  • 打赏
  • 举报
回复
用如下代码:
if isnull(l) then l = ''
if isnull(s) then s = ''
my_yc 2003-11-07
  • 打赏
  • 举报
回复
我试用这种方法了,但是不好用。
lmby 2003-11-07
  • 打赏
  • 举报
回复
declare ll cursor for
select nbr,ls from ls_table
where ls between :l and :s

ls列本来就是字符?那没有问题呀。
动态sql才用楼上的办法。
mittee 2003-11-07
  • 打赏
  • 举报
回复
l = "'" + l + "'"
s = "'" + s + "'"
workhand 2003-11-07
  • 打赏
  • 举报
回复
你的declare一句执行成功了吗?看看sqlcode,再有用你的where能select数据吗?到查询分析器中看看先

1,077

社区成员

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

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