请教检索条件的问题,希望大家帮忙啦^_^

彷徨的龙 2004-08-29 09:10:37
我的检索代码
long li_rows
string li_find

//形成查询条件
if cbx_1.checked=true then
li_find="%"+sle_1.text+"%"
li_find="t_icitem_fname like "+" '"+li_find+"' "
else
li_find="t_icitem_fname="+" '"+sle_1.text+"' "
end if

//定义变量
string li_filtstr
//设置检索条件
li_filtstr=" and icinventory_fstockid = 214"
li_find=li_find+li_filtstr


//查询
dw_1.settransobject(SQLCA)
dw_1.setfilter(li_find)
dw_1.retrieve()

在用li_find="t_icitem_fname like "+" '"+li_find+"' "+li_filtstr的条件查询的时候,老是出现expecting true/false expression的提示,不能检索出数据,而精确查询可以!

能给看看怎么办吗?
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wscft 2004-08-30
  • 打赏
  • 举报
回复
哦, 我原来也有这个问题, 一直不知道要怎么解决, 看到 Supernpc(一生之火) 的解答,
豁然开朗, 问题就解决了, 谢谢了!
xuexy1980_xxy1980 2004-08-30
  • 打赏
  • 举报
回复
你应该这样写就对了
li_find = "icinventory_fstockid = 214"+" AND " + li_find
CL0 2004-08-30
  • 打赏
  • 举报
回复
不错,应该把每个and前后的条件加上括号。Supernpc(一生之火) 正解.
  • 打赏
  • 举报
回复
你把li_find="%"+sle_1.text+"%"改成
li_find="%"+ trim ( sle_1.text ) +"%" 看看
lzheng2001 2004-08-29
  • 打赏
  • 举报
回复
在窗口上放一个mle你把li_find的内容放到mle_1.text中自己看看就知道是什么错误了!如果不知,把li_find的内容贴出来看看
cxwsoftware 2004-08-29
  • 打赏
  • 举报
回复
同意楼上的!
Supernpc 2004-08-29
  • 打赏
  • 举报
回复
and 是运行级别比 like 高
编译后是
t_icitem_fname like ( XX and icinventory_fstockid ) = 214
所以应该将
li_find="t_icitem_fname like "+" '"+li_find+"' "
改为为
li_find="( t_icitem_fname like "+" '"+li_find+"') "

609

社区成员

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

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