| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2378 人关注过本帖
标题:求助:表索引的排序方式问题
只看楼主 加入收藏
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
求助:表索引的排序方式问题
我在XP上设计的表单,上面有“查询”按钮,用表loca for xh=条件,使用正常

放在WIN7家庭版上使用查询失灵。

经 N 多次的测试,均无答案。这次偶然的灵感 把表中xh的索引排序方式由 Pinyin 换成 Machine,查询中所

使用的 loca for xh=条件,运行一切正常。


因为索引的维护是在程序中用了 “INDEX ON xh tag xh”来完成的。

现在我的问题是索引维护命令中要加什么参数,才能让 INDEX ON xh tag xh 命令执行后,索引的排序方式为 Machine 呢?
求高手赐教。谢谢!


点了发表,一下子自动为二个。麻烦版主,删除一个帖子。

[ 本帖最后由 xs591222 于 2014-3-17 18:55 编辑 ]
2014-03-17 18:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
看看INDEX指令的幫助就知道了

授人以渔,不授人以鱼。
2014-03-17 19:12
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
在 liuxingang28 的“vfp学习、开发漫谈(二)”中找到了答案。

在主程序中加入 Set Collate To "Machine" 测试正确了。

谢谢!
2014-03-17 19:18
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
在 liuxingang28 的“vfp学习、开发漫谈(二)”中找到了答案。

在主程序中加入 Set Collate To "Machine" 测试正确了。

谢谢!
2014-03-17 19:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
SET COLLATE to "MACHINE" 的问题二年前曾和TongDeng版主探讨过

坚守VFP最后的阵地
2014-03-17 19:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不重新INDEX一次,光SET COLLATE TO MACHINE能解決問題麽?匆匆忙忙就說問題解決。

授人以渔,不授人以鱼。
2014-03-17 19:36
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:7 
有一点我没搞懂,为何索引的表文件是用LOCATE FOR遍历查找,而不是用SEEK、FIND这种索引查找呢?根据命令执行的原理,即使是排得整整齐齐的记录,遍历查找也肯定比二分法查找慢得多,尤其是记录数多的时候。
2014-03-17 19:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用taifu945在2014-3-17 19:45:44的发言:

有一点我没搞懂,为何索引的表文件是用LOCATE FOR遍历查找,而不是用SEEK、FIND这种索引查找呢?根据命令执行的原理,即使是排得整整齐齐的记录,遍历查找也肯定比二分法查找慢得多,尤其是记录数多的时候。

對locate for,VFP默認開啟rushmore優化的時候,它會使用索引(被檢索的字段是索引字段時)。查閱一下VFP幫助中rushmore的條目就知道了。很多人以爲SQL的查詢必定比VFP傳統的檢索快,其實就是不明白VFP的rushmore技術才是它速度飛快的殺手鐗,它是用for條件來觸發的。

[ 本帖最后由 TonyDeng 于 2014-3-17 19:59 编辑 ]

授人以渔,不授人以鱼。
2014-03-17 19:51
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
话说,FoxPro默认就是用的Machine方式吧?除非人为指定其它两种排序方式。
2014-03-17 19:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用taifu945在2014-3-17 19:51:49的发言:

话说,FoxPro默认就是用的Machine方式吧?除非人为指定其它两种排序方式。

不是的,它跟系統區域化設置一致,對中文版的Windows,默認是按拼音排序。

授人以渔,不授人以鱼。
2014-03-17 19:54
快速回复:求助:表索引的排序方式问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100140 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved