关于dw_1.setfilter( )问题???

ditf 2002-03-19 12:41:58
我定义了一个下拉列表,里面有name/sex/phone/city 4个字段值
我想用一个变量表示这里面的变量,在查询的时候便于表达!在sle_1.text中输入的可以是"名字",也可以是"性别"或者是"电话"、"城市",按sle_1.text的内容显示相应的记录下面是我写的语句
string condition

//ddlp_2.text为"="
//sle_1.text 中输入要查询的字段
condition=ddplb_1.text+ddplb_2.text+sle_1.text


dw_1.setfilter(condition) //这里的条件要怎样才合法
dw_1.filter()
dw_1.retrieve()


2:下面是按性别查询,这个程序可行,但一次只能按一个字段查询,我想用一个下拉列表可以按所有的字段查询
string name

if ddplb_1.text="" or sle_1.text="" then
messagebox("Warning!","You aren't select the conditionplease select lookfor condition")
end if
name=sle_1.text
dw_1.setfilter("sex='"+trim(sle_1.text)+"'")
dw_1.filter()
dw_1.retrieve()


怎么能解决这个问题,望指教!!!!!!不甚感激

...全文
394 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyl_rabbit 2002-03-19
  • 打赏
  • 举报
回复
来晚了
fallstone 2002-03-19
  • 打赏
  • 举报
回复
哦,引用变量好象不需要引号,搞忘记了。
fallstone 2002-03-19
  • 打赏
  • 举报
回复
楼上是不是少了个引号?
pbsql 2002-03-19
  • 打赏
  • 举报
回复
可以这样:定义下拉列表ddlb_1,其显示值与实际值分别是name、sex、phone、city与"名字"、"性别"、"电话"、"城市,再定义一个文本框sle_1输入值,然后组织查询条件:
condition=ddlb_1.text+"='"+sle_1.text+"'"
dw_1.retrieve()
dw_1.setfilter(condition)
dw_1.filter()
fallstone 2002-03-19
  • 打赏
  • 举报
回复
dw_1.filter()
dw_1.retrieve()
filter后面为什么要 retrieve?
pbsql 2002-03-19
  • 打赏
  • 举报
回复
如果你的字段是字符型,ddplb_1.text是字段名、ddplb_2.text是连接符、sle_1.text是要查的值,那么 yl_yz(yz) 写的就没错
yl_yz 2002-03-19
  • 打赏
  • 举报
回复
你的字段是字符型的,条件应该这样写,你试一下:
condition=ddplb_1.text+ddplb_2.text+"'"+sle_1.text+"'"




ditf 2002-03-19
  • 打赏
  • 举报
回复
To: pbsql(风云) 我的语句写在最上面的啊我按照大家所说的做了,结果是还是
"Exprssion is not valid"
ditf 2002-03-19
  • 打赏
  • 举报
回复
错了上面那一组少了一句,应该是这样的
1:/* condition=ddplb_1.text+ddplb_2.text+sle_1.text
dw_1.retrieve()
dw_1.setfilter(condition)
dw_1.filter() */
ditf 2002-03-19
  • 打赏
  • 举报
回复


1:/* condition=ddplb_1.text+ddplb_2.text+sle_1.text
dw_1.retrieve()
dw_1.setfilter(condition) */



2:/* name=sle_1.text
dw_1.setfilter("sex='"+trim(sle_1.text)+"'")
dw_1.filter()
dw_1.retrieve() */
这两组语句究竟有多大的不同啊!
怎么下面这组语句可以运行,上面那组就有错误呢?????
pbsql 2002-03-19
  • 打赏
  • 举报
回复
你的代码(组织查询条件)怎么写的?
zxthello 2002-03-19
  • 打赏
  • 举报
回复
那是你的表达式错误,setfilter()以后用不着retrieve(),而且影响效率。
ditf 2002-03-19
  • 打赏
  • 举报
回复
To: Whyin(孤刀浪子)
不行,我才试过,还是Expression is not valid!
是不是引号哪儿出了毛病,有些时候只是些小毛病却好半天都不知道错在哪里,这个函数我还不是很会用,望各位多多指教
ditf 2002-03-19
  • 打赏
  • 举报
回复
To: pbsql(风云)
我以前就试过你那种写法了,结果是Expression is not valid

我的意图应该很多清楚了,但问题还没有解决!希望各位大哥可以把代码帮我写出来!或者只要说详细点儿也行!
Whyin 2002-03-19
  • 打赏
  • 举报
回复
先dw.retrieve()
然后在:dw_setfilter()
dw.filter()
你的表达式应该正确
pbsql 2002-03-19
  • 打赏
  • 举报
回复
搞反了,下拉列表ddlb_1的显示值为"名字"、"性别"、"电话"、"城市"其对应的实际值分别是name、sex、phone、city

401

社区成员

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

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