仓库名称 存放位置(字符型)
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编辑过]
你这里是一个表达式,不是代码中的like运算符。
表达式中的like运算符,请参考帮助文件“使用指南 - 表达式 - 运算符”。
呵呵,这个问题还是不存在。
所以我说:有时不一定就是软件的问题。
这也就说GetUniqueValues不能用like运算符!但用*可返回值呀???
以下是引用gdlgh在2008-9-24 15:26:00的发言:
这也就说GetUniqueValues不能用like运算符!但用*可返回值呀???
可以用
不过请参考帮助文件“使用指南 - 表达式 - 运算符”,这里头的有表达式的like运算符语法说明。
GetUniqueValues的第一个参数是一个条件表达式,不是代码,你应该参考表达式的运算符说明。
[此贴子已经被作者于2008-9-24 15:28:57编辑过]
呵。。看了帮助,like也太简单了!只是开头和结尾!!若按上面的要求也不行了!!
也就是可用但不支持!
在 LIKE 比较中,* 作为通配符,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:
[姓名] LIKE '*赫*'
[姓名] LIKE '赫*'
[姓名] LIKE '*赫'
分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”
在字符串的中间不允许使用通配符。例如,不允许 '赫*丰'