Rss & SiteMap

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

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

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

1楼
gdlgh 发表于: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楼
狐狸爸爸 发表于:2008/9/24 15:22:00
你这里是一个表达式,不是代码中的like运算符。

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

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

所以我说:有时不一定就是软件的问题。
3楼
gdlgh 发表于:2008/9/24 15:26:00

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

4楼
狐狸爸爸 发表于:2008/9/24 15:28:00
以下是引用gdlgh在2008-9-24 15:26:00的发言:

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


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

[此贴子已经被作者于2008-9-24 15:28:57编辑过]
5楼
gdlgh 发表于:2008/9/24 15:41:00

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

6楼
gdlgh 发表于:2008/9/24 16:10:00

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


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

[姓名] LIKE '*赫*'

[姓名] LIKE '赫*'

[姓名] LIKE '*赫'

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

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


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

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

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