Foxtable(狐表)用户栏目专家坐堂 → [求助] GetUniqueValues 取值出错!是bug吗?


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

主题:[求助] GetUniqueValues 取值出错!是bug吗?

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


加好友 发短信
等级:一尾狐 帖子:449 积分:3506 威望:0 精华:5 注册:2008/9/1 2:32:00
[求助] GetUniqueValues 取值出错!是bug吗?  发帖心情 Post By:2008/9/24 13:55:00 [只看该作者]

仓库名称  存放位置(字符型)
a        01
b      01
c      0101
d      0102
e      010201
f      010202
g      0103
h      010101

参考帮助的示例代码做的(其它代码省了):

 DataTables("库存").GetUniqueValues("存放位置 Like '01??'", "仓库名称")--无值返回

 DataTables("库存").GetUniqueValues("存放位置 Like '01##'", "仓库名称")--也无值返回

 DataTables("库存").GetUniqueValues("存放位置 Like '01*'", "仓库名称")--有值返回

 DataTables("库存").GetUniqueValues("存放位置 Like '0101'", "仓库名称")--有值返回

DataTables("库存").GetUniqueValues("存放位置 Like '0102'", "仓库名称")--有值返回

---------------

 DataTables("库存").GetUniqueValues("存放位置 Like '01??01'", "仓库名称")--无值返回

 DataTables("库存").GetUniqueValues("存放位置 Like '01##01'", "仓库名称")--也无值返回

 DataTables("库存").GetUniqueValues("存放位置 Like '010201'", "仓库名称")--有值返回


? 任何单个字符
* 零或多个字符
# 任何单个数字(0 到 9)

是bug吗??

呵。用SQL可以返回值!!

  Dim cmd As New SQLCommand
  Dim dt As DataTable
  cmd.C
  cmd.CommandText = "Select * From [库存] where 存放位置 like '01__01' "
  dt = cmd.ExecuteReader() '生成统计表
  For Each dr As Datarow In dt.Datarows
    Output.Show(dr("仓库名称"))
  Next
[此贴子已经被作者于2008-9-24 14:30:10编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/24 15:22:00 [只看该作者]

你这里是一个表达式,不是代码中的like运算符。

表达式中的like运算符,请参考帮助文件“使用指南  - 表达式 - 运算符”。

呵呵,这个问题还是不存在。

所以我说:有时不一定就是软件的问题。

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


加好友 发短信
等级:一尾狐 帖子:449 积分:3506 威望:0 精华:5 注册:2008/9/1 2:32:00
  发帖心情 Post By:2008/9/24 15:26:00 [只看该作者]

这也就说GetUniqueValues不能用like运算符!但用*可返回值呀???


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/24 15:28:00 [只看该作者]

以下是引用gdlgh在2008-9-24 15:26:00的发言:

这也就说GetUniqueValues不能用like运算符!但用*可返回值呀???


可以用
不过请参考帮助文件“使用指南  - 表达式 - 运算符”,这里头的有表达式的like运算符语法说明。
GetUniqueValues的第一个参数是一个条件表达式,不是代码,你应该参考表达式的运算符说明。

[此贴子已经被作者于2008-9-24 15:28:57编辑过]

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


加好友 发短信
等级:一尾狐 帖子:449 积分:3506 威望:0 精华:5 注册:2008/9/1 2:32:00
  发帖心情 Post By:2008/9/24 15:41:00 [只看该作者]

呵。惭愧呀!帮助无点睇,就是用到就复制。


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


加好友 发短信
等级:一尾狐 帖子:449 积分:3506 威望:0 精华:5 注册:2008/9/1 2:32:00
  发帖心情 Post By:2008/9/24 16:10:00 [只看该作者]

呵。。看了帮助,like也太简单了!只是开头和结尾!!若按上面的要求也不行了!!
也就是可用但不支持!


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

[姓名] LIKE '*赫*'

[姓名] LIKE '赫*'

[姓名] LIKE '*赫'

分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”

在字符串的中间不允许使用通配符。例如,不允许 '赫*丰'



 回到顶部