Foxtable(狐表)用户栏目专家坐堂 → 同样的条件,为什么在table和datalist中执行效果不一样?


  共有19397人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
reachtone
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/3 18:47:00 [只看该作者]

    呵呵,七、八楼的说法有点太简单了。实际应用中,各种想不到的数据格式都是可能碰到的;用Replace替换,查询结果就不再是想要的结果;用辅助列确实可以解决问题,但好象有点动静太大了 图片点击可在新窗口打开查看

    目前看来,唯一的解决办法,就是老六说的:把格式和table统一起来!
    如果统一的话,尽量把各种Filter也和SQL的格式统一吧。比如,sql语句里的like查询用的是%,而table里是*;把%用到filter里不行,把*用到sql里更不行。
[此贴子已经被作者于2009-8-3 18:56:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/19 16:39:00 [只看该作者]

在老版本中,如果把table的Filter设置为:规格 like '*16*8*'(目的是筛选规格包含16*8的所有记录),还是可以正常执行的。
怎么到新版反而不行了?
请老六查查。。。。。。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/19 16:43:00 [只看该作者]

换核心了,Filter和表达式统一:

在 LIKE 比较中,* 作为通配符,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:

[姓名] LIKE '*赫*'

[姓名] LIKE '赫*'

[姓名] LIKE '*赫'


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/19 17:42:00 [只看该作者]

那查询关键字中包含*的情况怎么处理?总要有个解决办法啊。
关键字是由用户手工输入的,实际应用中各种情况都可能出现。
就像sql语句中的'可以用''代替一样,必须考虑一下解决办法。如果关键字里包含*,希望可以用转义符代替。
[此贴子已经被作者于2009-8-19 17:43:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/19 17:49:00 [只看该作者]

看看我目前做的项目,这种情况太常见了。一定要想个办法解决才行啊:

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/20 6:43:00 [只看该作者]

自己顶一下。
Filter的统一,应该选择更兼容的方式才行

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/20 8:05:00 [只看该作者]

其实这个不是我能决定的,就像我们不能决定SQL SERVER的语法一样。

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19397 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/20 9:27:00 [只看该作者]

以下是引用狐狸爸爸在2009-8-20 8:05:00的发言:
其实这个不是我能决定的,就像我们不能决定SQL SERVER的语法一样。

    晕,老六非要逼着我自己去找资料。原来这样就可以解决:只要在代码中将关键字中的*号,用[]括起来就OK了。如:
    **** like '*22[*]33*'     '查找包含22*33的所有记录。
    以下是在网上找到的相关说明,其它狐友有兴趣也可以关注一下:
    vb中的LIKE操作符:为了与左括号 ([)、问号 (?)、数字符号 (#) 和星号 (*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个组内使用右括号 (]) 与自身匹配,但在组外可以作为个别字符使用。

[此贴子已经被作者于2009-8-20 9:30:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/20 9:33:00 [只看该作者]

呵呵,我也学习学习。


 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/8/20 11:00:00 [只看该作者]

以下是引用reachtone在2009-8-20 9:27:00的发言:

    晕,老六非要逼着我自己去找资料。原来这样就可以解决:只要在代码中将关键字中的*号,用[]括起来就OK了。如:
    **** like '*22[*]33*'     '查找包含22*33的所有记录。
    以下是在网上找到的相关说明,其它狐友有兴趣也可以关注一下:
    vb中的LIKE操作符:为了与左括号 ([)、问号 (?)、数字符号 (#) 和星号 (*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个组内使用右括号 (]) 与自身匹配,但在组外可以作为个别字符使用。

[此贴子已经被作者于2009-8-20 9:30:59编辑过]

收藏


 回到顶部
总数 20 上一页 1 2