Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共20 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:同样的条件,为什么在table和datalist中执行效果不一样?

1楼
reachtone 发表于:2009/8/3 13:46:00
有个条件表达式为:规格 like '*16*8*',目的是筛选规格包含16*8的所有记录。
在table中,把Filter设置为这个条件,可以正常执行;
但在datalist中,把RowFilter设置为这个条件,就执行出错。什么原因呢?怎样解决?

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-8-3 13:57:09编辑过]
2楼
kylin 发表于:2009/8/3 14:20:00
分成2个Like,用and连接
3楼
reachtone 发表于:2009/8/3 14:50:00
以下是引用kylin在2009-8-3 14:20:00的发言:
分成2个Like,用and连接

这是个办法。但这样一改的话,查询结果就不精确了:本来是要查询包含16*8的记录,现在变成只要包含16和8这两个数字就都符合条件了,外延明显扩大。
不知还有没有更好的办法?关键就是字符间的那个*号。

4楼
yangming 发表于:2009/8/3 14:57:00
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim
txt As String
txt = "'*" & 16*8 & "*'"
dst.RowFilter = "规格 Like " & txt
这样试试
5楼
roy78 发表于:2009/8/3 15:09:00
引号太多,把人都搞晕了。
6楼
reachtone 发表于:2009/8/3 15:10:00
以下是引用yangming在2009-8-3 14:57:00的发言:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim
txt As String
txt = "'*" & 16*8 & "*'"
dst.RowFilter = "规格 Like " & txt
这样试试

呵呵,这样肯定不对。查询条件变成'*128*'了。
16*8是一种字符查询条件。

7楼
HLJ 发表于:2009/8/3 15:29:00
1.長治久安:規範數據格式,儘量避免含有:通配符(*),单引号(')等特殊符號!
2.偷龍換鳳:Replace → Filter → Replace
8楼
yangming 发表于:2009/8/3 15:36:00
以下是引用HLJ在2009-8-3 15:29:00的发言:
1.長治久安:規範數據格式,儘量避免含有:通配符(*),单引号(')等特殊符號!
2.偷龍換鳳:Replace → Filter → Replace

对,主要是星号惹的祸,改成16x8.就没事了
Dim txt As String = e.Form.Controls("TextBox1").Value
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
txt = "'*" & txt & "*'"
dst.RowFilter = "第三列 Like " & txt

9楼
yangming 发表于:2009/8/3 15:41:00
如果非要显示星号,可以加一个辅助列,RowFilter时用辅助列
10楼
狐狸爸爸 发表于:2009/8/3 16:14:00

 新版本将统一

共20 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.